ক্লায়েন্ট কনফিগারেশন
সেট আপ করুন ~/.ssh/config
এর জন্য হোস্ট এন্ট্রি স্থাপন করা ssh
সত্যিই সহজ এবং আপনাকে অনেক ঝামেলা বাঁচাবে। এখানে একটি উদাহরণ:
Host digitaloceanbox
Hostname 111.111.111.111
User root
PubKeyAuthentication yes
IdentityFile /home/user/.ssh/digitalocean-rsa
ForwardX11 yes
Host github github.com
Hostname github.com
User git
PubKeyAuthentication yes
IdentityFile /home/user/.ssh/github-rsa
ForwardX11 no
এই উদাহরণে, আমরা সেটআপ করি digitaloceanbox
এবং github
এবং github.com
যাতে আমরা নিম্নলিখিত আদেশগুলি করতে পারি:
ssh github
ssh digitaloceanbox
আমরা যদি কনফিগার ফাইলে উল্লিখিত ব্যবহারকারীর চেয়ে পৃথক ব্যবহারকারী হিসাবে লগইন করতে চাই, আমরা কেবল user@
প্রারম্ভিক শব্দটি রেখেছি:
জেনারেট ssh
কী
ssh-keygen -t rsa -b 4096 -C user@homemachine
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): /home/user/.ssh/digitalocean-rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/digitalocean-rsa
Your public key has been saved in /home/user/.ssh/digitalocean-rsa.pub.
The key fingerprint is:
SHA256:p9PYE/tveF2n//bLbp3ogYDtMtYEC5ziQiPxeob6fbo user@homemachine
মনে রাখবেন যে, আমি ব্যক্তিগত কী আমি প্রোত্সাহে জেনারেট করতে চান তার সম্পূর্ণ পাথ উল্লেখ করেছি ssh-keygen
। আমি মন্তব্যটিও সংজ্ঞায়িত করেছি ( -C
যা আমাকে দূরবর্তী মেশিনে কীগুলি সহজেই সনাক্ত করতে দেয়।
এটি দুটি ফাইল তৈরি করবে:
.ssh/digitalocean-rsa
- প্রাইভেট কী এটিকে কখনই শেয়ার করবেন না ।
.ssh/digitalocean-rsa.pub
- পাবলিক কী। এটি যা আপনি প্রমাণ করতে সার্ভারে সঞ্চয় করেন store
আপনি যখন আপনার ssh
কী সরবরাহ করবেন তখন নিশ্চিত হয়ে নিন এটি .pub
সংস্করণ !! আপনি যখন এতে যুক্ত হন ~/.ssh/config
, সঠিক বেসরকারী কীটি আপনার সিস্টেমে যে পাবলিক কী-এর সাথে মেলে তা অবশ্যই নিশ্চিত করবেন।
সার্ভার কনফিগারেশন
বেশিরভাগ ইনস্টলেশন পাবলিক কী প্রমাণীকরণ সক্ষম করার সাথে আসবে। আপনি যদি সমস্ত উইলি নিলির কাজগুলি শুরু করেন তবে আপনি কিছু সমস্যা পেতে পারেন। ওপিতে যেখানে তাদের সমস্যা রয়েছে সেখানে আমি পরামর্শ দিচ্ছি যে ওপি /root/.ssh/
ডিরেক্টরিটি শুরু করার জন্য মুছে ফেলবে ।
আপনি ssh
রিমোট সিস্টেমে রুট ব্যবহারকারীদের অ্যাক্সেস করতে ব্যবহার করার পরামর্শ দেওয়া হয় না । আপনি ssh
অন্য ব্যবহারকারীর মধ্যে প্রবেশ করুন এবং তারপরে আপনার পাসওয়ার্ড ( sudo su -
) ব্যবহার করে রুট করার পরামর্শ দেওয়া হচ্ছে ।
ব্যবহার করে হোস্টে কী যুক্ত করুন ssh-copy-id
আপনি অন্য ব্যবহারকারী তৈরি এবং ssh
সেই ব্যবহারকারী বা মূল ব্যবহারকারী হিসাবে ব্যবহার করার সিদ্ধান্ত নিলেন না কেন , নিম্নলিখিতটি হ'ল ssh
সার্ভারে কী রাখার প্রস্তাবিত উপায় :
ssh-copy-id -i /home/user/.ssh/digitalocean-rsa.pub user@digitaloceanbox
এটি sshd
ডিরেক্টরি এবং প্রয়োজনীয় অনুমতিগুলির সাথে প্রয়োজনীয় ফাইলগুলি তৈরি করতে দেয় । এর অর্থ আপনার কাছে বিশৃঙ্খলার অনুমতি বা বিশদটি মনে রাখার দরকার নেই zero কীগুলি আপলোড করার জন্য কেবল সরঞ্জামটি ব্যবহার করুন।
পাসওয়ার্ড প্রমাণীকরণ অক্ষম করুন
বলা হচ্ছে, একবার আপনি কী কীওয়ার্ড হয়ে গেলে এবং কীগুলি ব্যবহার করে আপনি সংযোগ করতে সক্ষম হয়েছেন তা যাচাই হয়ে গেলে, আপনি পাসওয়ার্ড প্রমাণীকরণ অক্ষম sshd
করে পরিষেবাটি পুনরায় চালু করার পরামর্শ দেওয়া হয়:
- সম্পাদন করা
/etc/ssh/sshd_config
PasswordAuthentication no
sudo systemctl restart sshd
নতুন ব্যবহারকারীদের কী হবে?
আপনি যদি পাসওয়ার্ড প্রমাণীকরণ অক্ষম করেন তবে কীভাবে আপনি নতুন ব্যবহারকারীদের কী করতে পারেন? একটি উপায় হ'ল /etc/skel
ডিরেক্টরিতে টেমপ্লেট ফাইল যুক্ত করা । একবার আপনি কোনও ব্যবহারকারীকে কী করতে চাইলে নিম্নলিখিতটি করুন:
sudo cp -r .ssh/ /etc/skel/
ls /etc/skel/.ssh
/etc/skel/.ssh/
যে কোনও ফাইল পাওয়া যায় তা সম্পাদনা করুন যাতে এগুলি ফাঁকা থাকে, যতক্ষণ না আপনি নতুনভাবে তৈরি প্রতিটি ব্যবহারকারীর জন্য স্বয়ংক্রিয়ভাবে নিজেকে কী করতে চান।
আপনি যখন নতুন ব্যবহারকারী তৈরি করবেন তখন sudo useradd -m newuser
সেই ব্যবহারকারীর কাছে এটি থাকবে .ssh/authorized_keys
, যা আপনি সম্পাদনা করতে পারবেন এবং সঠিক অনুমতি পাবেন have
ডিবাগ
আপনি দেখতে পারেন sshd
দেখুন কেন সংযোগ ব্যর্থ বা প্রত্যাখ্যান করতে লগ ফাইল:
sudo tail -f /var/log/auth.log
আপনি যখন এই কমান্ডটি চালাচ্ছেন, লগইনের চেষ্টা করতে অন্য একটি টার্মিনাল ব্যবহার করুন। সমস্যার বার্তাটি সরবরাহ করতে বা অনলাইনে কোনও সমাধান খুঁজে পেতে সহায়তা করার জন্য প্রদত্ত বার্তাগুলি যথেষ্ট ভাল।