উবুন্টু সার্ভারে একটি নতুন এসএসএইচ ব্যবহারকারী তৈরি করুন


104

সবেমাত্র একটি নতুন ভার্চুয়াল উবুন্টু সার্ভার তৈরি করেছে এবং আমি উত্পাদন ব্যবহারের জন্য এটি শক্ত করার প্রক্রিয়াধীন। আমার বর্তমানে একটি মূল অ্যাকাউন্ট রয়েছে। আমি নিম্নলিখিতটি করতে চাই:

  • একটি নতুন ব্যবহারকারী তৈরি করুন (আসুন তাদের jimএই বাকিগুলির জন্য কল করুন )। আমি তাদের একটি /home/ডিরেক্টরি থাকতে চান ।
  • jimএসএসএইচ অ্যাক্সেস দিন ।
  • রুট jimকরতে অনুমতি দিন suতবে sudoক্রিয়াকলাপ সম্পাদন করবেন না ।
  • রুট এসএসএইচ অ্যাক্সেস বন্ধ করুন।
  • বর্বর আক্রমণ বন্ধ করতে সহায়তার জন্য এসএসএইচডিটিকে একটি মানক মানক বন্দরে সরান।

আমার সমস্যাটি প্রথম দুটি আইটেম নিয়ে। আমি ইতিমধ্যে খুঁজে পেয়েছি useraddকিন্তু কোনও কারণে, এসএসএইচ দিয়ে এটি তৈরি করা কোনও ব্যবহারকারী হিসাবে আমি লগ ইন করতে পারি না। এটির অনুমতি দেওয়ার জন্য আমার কি এসএসএইচডি বীট করা দরকার?


ওহে! আমি আপনাকে সার্ভারগুলিতে সহায়তা করতে পারি, এসএসএইচে আপনার সমস্যা কী তা আমি জানি না, কারণ আমার জন্য ডিফল্ট কনফিগারেশন আমার সংযোগ কখনও অস্বীকার করে না। আপনি 5 জন লোককে দেখতে পাচ্ছেন , এটি লিখেছেন যে / / ইত্যাদি / নোলজিন উপস্থিত থাকলে আপনি কেবল রুট দিয়ে লগইন করতে পারেন। সাধারণত লগইন করার চেষ্টা করুন, তারপরে ফলাফল লিখুন।
অ্যান্টিভাইর্টেল

ব্যবহারকারীর শেল কী? এটা কি / বিন / বাশ? / Etc / পাসওয়ার্ডে এটি পরীক্ষা করে দেখুন। নিশ্চিত করুন যে এটি / ডেভ / নাল বা / বিন / মিথ্যা নয়।
এলএফসি_ফ্যান

হ্যাঁ এলএফসি_ফ্যান, বা / ইত্যাদি / নোলোগিন। (Sudo) বিড়াল / ইত্যাদি / পাসডাব্লুড ব্যবহার করুন
গ্রেপ

1
@B ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর. রোল্যান্ড আমার কাছে একটি /etc/nologinফাইল আছে তবে এটি খালি। আমি এটিকে মুছে ফেলে আবার পুনরায় চালু Permission denied, please try again.করেছি তবে চেষ্টা করে লগ ইন করার পরে এটি কেবল প্রতিক্রিয়া
অলি

@LFC_fan এটা / বিন / ব্যাশ এর
অলি

উত্তর:


99

সম্পাদনা করুন (root পরিচয়ে) /etc/ssh/sshd_config। এটিতে নিম্নলিখিতটি যুক্ত করুন:

Port 1234
PermitRootLogin no
AllowUsers jim

Port 1234এসএসএইচ 1234 পোর্টে শুনতে দেয় causes আপনি 1 থেকে 65535 পর্যন্ত কোনও অব্যবহৃত পোর্ট ব্যবহার করতে পারেন a এটি কোনও অনুমোদিত পোর্ট (পোর্ট 1-1024) চয়ন করার পরামর্শ দেওয়া হয় যা কেবল রুট দ্বারা ব্যবহার করা যেতে পারে। যদি আপনার এসএসএইচ ডেমন কোনও কারণে কাজ করা বন্ধ করে দেয় তবে একটি দুর্বৃত্ত অ্যাপ্লিকেশন সংযোগটি বাধা দিতে পারে না।

PermitRootLogin সরাসরি রুট লগইনকে অস্বীকার করে।

AllowUsers jimব্যবহারকারীকে jimএসএসএইচ দিয়ে লগইন করতে দেয় allows আপনার যদি কোথাও থেকে লগইন না করতে হয়, আপনি কোনও আইপি ঠিকানায় জিম সীমাবদ্ধ করে এটিকে আরও সুরক্ষিত করতে পারেন (আপনার আসল আইপি ঠিকানার সাথে 1.2.3.4 প্রতিস্থাপন করুন):

AllowUsers jim@1.2.3.4

কনফিগারেশন ফাইলটিতে পরিবর্তনগুলি /etc/ssh/sshd_configতত্ক্ষণাত প্রয়োগ করা হয় না, কনফিগারেশনটি পুনরায় লোড করতে, চালান:

sudo service ssh reload

10
+1: দ্রষ্টব্য: এই নির্দেশাবলী এখনও উবুন্টু (যেমন 13.04) এর নতুন সংস্করণগুলিতে প্রযোজ্য। আপনি যদি rootলগইন করতে চান তবে (সম্ভবত আপনি এখনও সার্ভারটি সেট আপ করছেন), আপনাকে অবশ্যই সেট PermitRootLoginকরতে হবে yesএবং এতে যুক্তও rootকরতে হবে AllowUsers
জেআরজি-বিকাশকারী

4
এই ব্যবহারকারীর জন্য পাসওয়ার্ড কি?
ওল্ফপ্যাক'08

আমার ভিপিএস 22 পোর্টে এসএসএইচ লগইন করার জন্য একটি মূল পাসওয়ার্ড সহ আসে। Sshd_config এর উত্তর যুক্ত করার ফলে রুটটি লগ ইন করতে অক্ষম হয় this এটি কি কারণ আমি জিমের জন্য 22 বন্দর ব্যবহার করেছি, বা অন্য কোনও কারণ রয়েছে?
ওল্ফপ্যাক'০৮

1
@ লেকেনস্টেইন আমি সবেমাত্র উবুন্টুতে একটি নতুন ব্যবহারকারীর সংযোজন পেয়েছি সেই ব্যবহারকারীটির জন্য নিজেই একটি এসএস অ্যাকাউন্ট তৈরি করে .... useradd -m -G sudo,adm -s /bin/bash mecharokএবংpasswd mecharok
ওল্ফপ্যাক'০৮

3
@ ওল্ফপ্যাক'08 AllowUsers username1,username2এসএসএইচ লগইনগুলি সেই ব্যবহারকারীদের মধ্যে সীমাবদ্ধ করতে ব্যবহার করুন । sshdপুনরায় লোড হয়েছে তা নিশ্চিত করুন । এটি যদি সহায়তা না করে তবে দয়া করে একটি নতুন প্রশ্ন তৈরি করুন।
লেকেনস্টেইন

96

ডিরেক্টরি এবং ফাইলের অনুমতি সম্পর্কে এসএসএইচ খুব আকর্ষণীয়। নিশ্চিত করো যে:

  1. ডিরেক্টরি / home/username/.ssh এর "700" অনুমতি রয়েছে এবং এটি ব্যবহারকারীর মালিকানাধীন (মূল নয়!)
  2. / Home / ব্যবহারকারীর নাম / ssh / अधिकृत_keys এর অনুমতি "600" রয়েছে এবং এটি ব্যবহারকারীর মালিকানাধীন

আপনার সর্বজনীন কীটি অনুমোদিত_কিজ ফাইলগুলিতে অনুলিপি করুন।

sudo chown -R username:username /home/username/.ssh
sudo chmod 0700 /home/username/.ssh
sudo chmod 0600 /home/username/.ssh/authorized_keys

নেই কোন / etc / SSH / ssh_config ব্যবহারকারী যোগ করতে হবে।


1
আমার সমস্যাটি ~./sshডেকে আনা হয়েছিল, আমি রুট হিসাবে তৈরি করেছি এবং ব্যবহারকারীর মালিকানা কখনই দেব না।
গার্ভ করুন

1
আমার সমস্যাটি হ'ল আমি /root/.ssh/authorized_keysপরিবর্তে ব্যবহার করার চেষ্টা করছিলাম /home/bob/.ssh/authorized_keys
অ্যালেক্স ডব্লিউ

আমি নিশ্চিত করতে পারি: আমাদের ভিপিএস হোস্টিংয়ে সম্পাদনার দরকার ছিল না ssh_config। ডিরেক্টরি এবং ফাইল সেট আপ যথেষ্ট ছিল।
সুপারজোজ

2
আমার জন্য এটি chmod 755 / home/username/.ssh হতে হবে অন্যথায় এটি কাজ করবে না।
জিম ডাব্লু

ব্যবহারকারী (বা sudo su --login {user}) হিসাবে লগইন করা এবং চালানো ssh-keygen-> ".ssh" ফোল্ডার, কী + সার্টিফিকেট এবং অনুমতিগুলি সম্পন্ন করা অনেক সহজ। আপনার নির্দেশাবলী অনুসারে কেবল অনুমোদিত_কিগুলি তৈরি করুন।
bshea

13

সেখানে সংকেত সনাক্ত করুন হতে হবে /var/log/auth.logকেন, SSH (অথবা পিএএম) লগইন প্রচেষ্টা প্রত্যাখ্যান হয়। অতিরিক্ত ক্লুগুলি এসএসএস ক্লায়েন্টের -vসাথে বিকল্পটি ব্যবহার করে পাওয়া যেতে পারে । বেশ কয়েকটি সাধারণ পরিস্থিতি, কেউ কেউ অন্য উত্তরে উল্লেখ করেছেন:

  • ব্যবহারকারীর অ্যাকাউন্টে পাসওয়ার্ডের অভাব রয়েছে বা অন্যথায় অক্ষম করা হয়েছে (দেখুন man passwd, পাসওয়ার্ডটি পুনরায় সেট করার চেষ্টা করুন বা এর সামগ্রীগুলি দেখুন /etc/shadow)।
  • /etc/ssh/sshd_configলগইন নামঞ্জুর করার জন্য কনফিগার করা হয় ( DenyUsers, AllowUsers, PasswordAuthentication, PubkeyAuthentication, UsePAMইত্যাদি দেখতে man sshd_config)।
  • ব্যবহারকারীর শেলটি তালিকাভুক্ত নয় /etc/shells
  • ডিরেক্টরি বা ফাইল বিভিন্ন অনুমতি সমস্যার, SSH অপারেশনে সম্পর্কিত: /etc/ssh, /home/jim/.ssh, /home/jim/.ssh/*, ইত্যাদি

আমিও ব্যবহার করার প্রস্তাব চাই adduser (পরিবর্তে useradd নতুন ব্যবহারকারীদের যোগ করার জন্য); এটি বিভিন্ন ডিফল্ট অ্যাকাউন্ট সেটিংস সম্পর্কে আরও কিছুটা বন্ধুত্বপূর্ণ।

যতক্ষণ না ব্যবহারকারী এই adminগোষ্ঠীর অংশ না থাকে ততক্ষণ তারা রুট থেকে সুডো করতে সক্ষম হবে না । তাদের ব্যবহার করার জন্য su কমান্ড , আপনি একটি রুট পাসওয়ার্ড (সেট করতে হবে passwd root), যা আমি সেটিং সুপারিশ PermitRootLogin=noমধ্যে /etc/ssh/sshd_config


দুর্দান্ত উত্তরের জন্য অনেক ধন্যবাদ - বিশেষত "অ্যাডুজার" অনেক সাহায্য করেছে!
vishal.biyani

11

আমি ভুল হতে পারি তবে সংযুক্ত করার আগে আমাকে সর্বদা সার্ভার ডেমন ইনস্টল করতে হবে (কমপক্ষে ডেস্কটপে) ssh ডিফল্টরূপে ইনস্টল করা হয়েছে তবে এটি কেবল ক্লায়েন্ট is

এই কমান্ডটি সার্ভারটি ইনস্টল করে

sudo apt-get install openssh-server

আপনি সম্পাদনা করে পোর্ট পরিবর্তন করতে এবং রুট লগইন বন্ধ করতে পারেন

/etc/ssh/sshd_config

এর জন্য আপনাকে যদিও পরিষেবাটি পুনরায় চালু করতে হবে।

sudo service ssh restart


এটি ভার্চুয়াল সার্ভার (ভিপিএস) তাই এসএসএইচ ডিফল্টরূপে ইনস্টল করা আছে। এটি সার্ভারে আমার একমাত্র ইন্টারফেস। এবং sudo /etc/init.d/ssh reloadপরিবর্তে আপনি কনফিগারেশন পুনরায় লোড করতে পারেন , তবে তথাপি ভাল তথ্য।
অলি

8

আপনি কোনও পাসওয়ার্ড সেট না করা পর্যন্ত জিমের এসএসএইচ অ্যাক্সেস থাকবে না। রুট এক্সিকিউট হিসাবে:

grep -i "jim" /etc/shadow | awk -F':' '{ print $2 }'

যদি এই আদেশটি ""! চরিত্রটি তখন এই অ্যাকাউন্টের জন্য লগইন অক্ষম। passwd jimরুট হিসাবে চালানো আপনাকে নতুন এবং নিশ্চিত হওয়া পাসওয়ার্ড স্ট্রিংয়ের জন্য অনুরোধ করবে যার পরে উপরের গ্রেপ কমান্ডটি জিমের জন্য পাসওয়ার্ড উপস্থাপন করে একটি হ্যাশ স্ট্রিং ফিরিয়ে আনবে।

এছাড়াও জিমের একটি লগইন শেল রয়েছে, যা ডিফল্ট অনুসারে সেট করা আছে এবং একটি হোম ডিরেক্টরি রয়েছে যা যাচাই করে তা নিশ্চিত করে নিন।

এসএসএইচ সার্ভার সেটিংস সংশোধন করার তথ্যের জন্য দয়া করে লেকেনস্টেইনের পোস্টটি নোট করুন।


"যদি এই আদেশটি কোনও"! "অক্ষর দেয় তবে এই অ্যাকাউন্টের জন্য লগইন অক্ষম করা আছে" দ্রষ্টব্য এর অর্থ এই নয় যে আপনি এসএসএইচ করতে পারবেন না; কেবলমাত্র আপনি এটি পাসওয়ার্ড দিয়ে করতে পারবেন না (আপনার পাবলিক কী সহ)।
bfontaine

3

আমার ক্ষেত্রে আমার একটি গোষ্ঠী ছিল যা অ্যাক্সেসের অনুমতি পেয়েছিল এবং ব্যবহারকারীর এটির অংশ ছিল না। এটি আমার জন্য এটি সমাধান করেছে।

ব্যবহারকারীর সাথে উপরের উদাহরণটি ব্যবহার করে jimএবং গোষ্ঠীর সদস্যকে jimকেবলমাত্র গ্রুপ হিসাবে ধরে নিন ( গ্রুপগুলির অংশ groupsহিসাবে jimআপনি খুঁজে পেতে লগ ইন করার সময় ইস্যু কমান্ড )। আমার /etc/ssh/sshd_configফাইলে আমার AllowGroups sshusersপ্রবেশ ছিল এবং এভাবে গ্রুপে যুক্ত jimহওয়া দরকার sshusers। এটি কীভাবে সম্পন্ন হবে তা নীচে রয়েছে:

usermod -a -G sshusers jim

আপনার কনফিগারেশনের জন্য উপযুক্ত হিসাবে আপনার গ্রুপ এবং ব্যবহারকারীকে প্রতিস্থাপন করুন।


1
আপনার উদাহরণটি এমন উত্সের সাথে উল্লেখ করে আপনার উত্তরটি উন্নত করা উচিত যা আপনার উদাহরণটিকে আরও ভালভাবে ব্যাখ্যা করে অথবা ওপির মূল প্রশ্নে আপনার উদাহরণ ভিত্তিক প্রাসঙ্গিক তথ্য যুক্ত করে। উদাহরণস্বরূপ, jimপ্রসঙ্গটি সরবরাহ করতে সহায়তার জন্য ডামি ব্যবহারকারী হিসাবে নির্দিষ্ট করা ব্যবহারকারী। নিবন্ধটি এখানে এটা ভাল ব্যাখ্যা করে।

0

কিছু উদাহরণ থাকতে পারে যে PasswordAuthenticationডিফল্টরূপে অক্ষম করা আছে।

দয়া করে পরীক্ষা করুন /etc/ssh/sshd_configএবং নিশ্চিত করুন যে PasswordAuthenticationবৈশিষ্ট্যটি সেট করা আছে yes


0

@ লেকেনস্টেইন আমি প্রশ্নের উত্তরে কোনও মন্তব্য দিতে পারিনি কারণ আমার সুনাম নেই - তবে আমি যুক্ত করার চেষ্টা করেছি

AllowUsers existingUser,newUser

আমার / etc / ssh / sshd_config ফাইল এবং এখন আমি আমার বিদ্যমান ব্যবহারকারী বা নতুন ব্যবহারকারীর উভয়ই আর ssh করতে পারবেন না।


আমি আপনার ব্যথা বুঝতে পারি: ডিআই-এর একবারও একই সমস্যা ছিল। সমাধান: AllowUsers existingUser@* newUser@*
mailসেইমেল অ্যাটকার্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.