VPS

⌘K
  1. Home
  2. VPS
  3. Ubuntu
  4. SSH কী?
  5. ssh দিয়ে লগইন ও উইন্ডোস ...
  6. পাসওয়ার্ড ছাড়া লগইন এর জন্য ssh কি কনফিগার

পাসওয়ার্ড ছাড়া লগইন এর জন্য ssh কি কনফিগার

অসাধারণ! এবার আমি আরও বিস্তারিতভাবে, প্রতিটি কমান্ডের ব্যাখ্যা সহ করে দেখাচ্ছি — কীভাবে:

  1. একজন ইউজার (যেমন root বা tanvir) এর জন্য SSH Key তৈরি করবেন
  2. কীভাবে সেই Key সার্ভারে বসাবেন
  3. এবং কীভাবে পাসওয়ার্ড ছাড়াই SSH দিয়ে লগইন করবেন।

🔐 SSH Key Authentication – কীভাবে কাজ করে?

SSH Key Authentication হলো এক ধরনের ডিজিটাল “চাবি” পদ্ধতি। এটি দুইটি অংশে ভাগ করা:

  • 🔑 Private Key — আপনার কম্পিউটারে থাকে, গোপন
  • 🌍 Public Key — সার্ভারে থাকে, পাবলিক

যখন আপনি লগইন করার চেষ্টা করেন, তখন সার্ভার আপনার Private Key দিয়ে যাচাই করে নেয়, এবং যদি মিল খায় — আপনাকে পাসওয়ার্ড ছাড়াই এক্সেস দেয়।


🔰 পর্ব: Root ও অন্য ইউজার (tanvir) এর জন্য SSH Key সেটআপ (সম্পূর্ণ ব্যাখ্যাসহ)


🧭 ধাপ ১: Windows এ SSH Key তৈরি করা (Key Generation)

ssh-keygen -t rsa -b 4096 -C "root@yourvps"

🔍 ব্যাখ্যা:

অংশমানে
ssh-keygenSSH Key জেনারেট করার টুল
-t rsaকী টাইপ RSA (ভালো সিকিউরিটি)
-b 4096৪০৯৬ বিটের কী – বেশি নিরাপদ
-Cএকটি মন্তব্য (comment/email) যেন চেনা যায়

➡️ এটি জিজ্ঞাসা করবে:

Enter file in which to save the key (/c/Users/oleetech/.ssh/id_rsa):

🔸 আপনি চাইলে নির্দিষ্ট নাম দিন, যেমন:

/c/Users/oleetech/.ssh/id_rsa_root

এরপর দুইটি ফাইল তৈরি হবে:

ফাইলব্যাখ্যা
id_rsa_rootPrivate Key (শুধু আপনার কাছে থাকবে, গোপন!)
id_rsa_root.pubPublic Key (সার্ভারে বসাতে হবে)

🧭 ধাপ ২: Public Key সার্ভারে বসানো (root ইউজার-এর জন্য)

🔹 Step 2.1: VPS-এ লগইন (root পাসওয়ার্ড দিয়ে)

ssh root@your-vps-ip

🔹 Step 2.2: .ssh ফোল্ডার তৈরি ও পারমিশন দিন

mkdir -p ~/.ssh
chmod 700 ~/.ssh

ব্যাখ্যা:

  • mkdir -p ~/.ssh.ssh নামের হিডেন ফোল্ডার তৈরি করে
  • chmod 700 → Owner যেন লিখতে-পড়তে চালাতে পারে; অন্য কেউ কিছু না পারে

🔹 Step 2.3: Public Key বসান

nano ~/.ssh/authorized_keys

➡️ আপনার Windows থেকে id_rsa_root.pub ফাইলটি খুলে পুরো key কপি করুন
➡️ nano তে পেস্ট করুন
➡️ Save করুন: Ctrl + O → Enter
➡️ Exit: Ctrl + X


🔹 Step 2.4: পারমিশন ঠিক করা

chmod 600 ~/.ssh/authorized_keys

মানে:
Owner যেন শুধু এটি পড়তে ও লিখতে পারে। অন্য কেউ কিছু করতে পারবে না।


✅ এখন আপনি Windows থেকে এই কমান্ড দিয়ে পাসওয়ার্ড ছাড়াই root হিসেবে লগইন করতে পারবেন:

ssh -i ~/.ssh/id_rsa_root root@your-vps-ip
অংশব্যাখ্যা
-iকোন Private Key ব্যবহার করবেন
root@your-vps-ipকাকে ও কোথায় লগইন করবেন

🧭 ধাপ ৩: অন্য ইউজার (যেমন tanvir) এর জন্য একই ধাপে

🔹 Step 3.1: tanvir তার Windows-এ SSH Key বানাবে:

ssh-keygen -t rsa -b 4096 -C "tanvir@yourcompany.com"

➡️ path দিন:

/c/Users/tanvir/.ssh/id_rsa_tanvir

➡️ পাবেন:

  • id_rsa_tanvir (Private)
  • id_rsa_tanvir.pub (Public)

🔹 Step 3.2: root হয়ে tanvir-এর .ssh তে Public Key বসাবেন

mkdir -p /home/tanvir/.ssh
chmod 700 /home/tanvir/.ssh
nano /home/tanvir/.ssh/authorized_keys

➡️ id_rsa_tanvir.pub কপি করে সেখানে পেস্ট করুন

chmod 600 /home/tanvir/.ssh/authorized_keys
chown -R tanvir:tanvir /home/tanvir

✅ এখন tanvir Windows থেকে লগইন করবে:

ssh -i ~/.ssh/id_rsa_tanvir tanvir@your-vps-ip

✅ এবং পাসওয়ার্ড আর লাগবে না!


🔐 যদি .ssh/config ব্যবহার করেন:

nano ~/.ssh/config
Host myserver-root
    HostName your-vps-ip
    User root
    IdentityFile ~/.ssh/id_rsa_root

Host myserver-tanvir
    HostName your-vps-ip
    User tanvir
    IdentityFile ~/.ssh/id_rsa_tanvir

➡️ তাহলে এইভাবে connect করা যাবে:

ssh myserver-root
ssh myserver-tanvir

✅ উপসংহার:

প্রশ্নউত্তর
SSH Key ব্যবহার করলে পাসওয়ার্ড লাগবে না কেন?কারণ সার্ভার Public Key দেখে আপনার Private Key দিয়ে যাচাই করে নেয়
Key নিরাপদ কেন?কারণ এটি asymmetrical encryption (private key leak না হলে কেউ এক্সেস পাবে না)
একাধিক ইউজার কিভাবে?প্রতির জন্য আলাদা Key বানিয়ে তাদের authorized_keys এ যুক্ত করে দিন
পারমিশন ঠিক না থাকলে?সার্ভার Key কে বিশ্বাস করবে না, এক্সেস দিবে না

চাইলে আমি এটা .pdf, .docx বা ভিডিও টিউটোরিয়াল হিসেবে বানিয়ে দিতে পারি
আপনি শুধু বলুন, কোন ফরম্যাটে চাই! ✅
পরবর্তী ধাপে চাইলে SSH Port Change বা Firewall Setup দেখাবো!

How can we help?