পাসওয়ার্ড ছাড়াই শেল লগিন

যাদের বার বার এসএসএইচ এ লগিন করতে হয় প্রত্যেকবার পাসওয়ার্ড দেয়া তাদের জন্য বেশ বিরক্তিকর। তাছাড়া সেটা যদি রুট হয় তাহলে তো কথাই নাই। কারণ সাধারণত রুট পাসওয়ার্ড বড় ও কঠিন হয়। সেজন্যই এর বিকল্পটি ব্যবহার করতে পারতেন যাতে আপনাকে আর প্রত্যেকবার পাসওয়ার্ড দিতে না হয়।

প্রথমে আপনার কম্পিউটারে টার্মিনাল চালু করুন। যদি আপনি সার্ভারে রুট হিসেবে ঢুকতে চান, তাহলে আপনার কম্পিউটারেও রুটে পরিবর্তন করে নিন।

$ sudo -i

এখন রুট পাসওয়ার্ড দিলে আপনি রুট প্রম্পট পাবেন।

# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):

যেভাবে আছে এন্টার দিন।

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

খালি রেখেই দুবার এন্টার দিন। এখানে পাসওয়ার্ড দিলে আপনাকে প্রত্যেকবারই লগিনের সময় আবার এই পাসওয়ার্‌ডটি দেয়া লাগবে।

Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:

দেখুন ‘পাবলিক কি’ কোন ফাইলে (এখানে id_rsa.pub) সেভ হয়েছে। ঐ ফাইলটি এখন আমাদেরকে সার্ভারে ট্রান্সফার করতে হবে।

# scp /root/.ssh/id_rsa.pub root@SERVER_IP:/root/.ssh/

SERVER_IP এর বদলে আপনার সার্ভারের আইপি বসান। এরপর পাসওয়ার্ড চাইবে। পাসওয়ার্ড দিন। ট্রান্সফার হয়ে গেলে এখন সার্ভারে আগের মতই লগিন করতে হবে। কিভাবে করতে হবে সেটা নিশ্চয়ই বলার দরকার নেই।

# ssh root@SERVER_IP

লগিন হওয়ার পর নিচের মত করে কমান্ড দিন।

# cd /root/.ssh/
# cat id_rsa.pub >> authorized_keys

ব্যাস! কাজ শেষ। এরপর লগ আউট করে আবার লগিন করলে আর পাসওয়ার্ড চাইবে না।

লক্ষণীয়:
১. ssh-keygen কমান্ডটি দুটো কি তৈরি করে। একটা পাবলিক এবং একটা প্রাইভেট। আমরা পাবলিকটি সার্ভারে আপলোড করেছি। কিন্তু প্রাইভেট কি আপনার কম্পিউটারেই আছে। এই প্রাইভেট কি যদি কেউ পেয়ে তাহলে সেও বিনা বাধায় আপনার সার্ভারে প্রবেশ করতে পারবে। সুতরাং এর নিরাপত্তা বিধান করা খুবই জরুরী।
২. authorized_keys এর পারমিশন সেট করুন এরকম:

# chmod 644 authorized_keys

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

৩. আপনি যে কোন সার্ভারে পাবলিক কি টা দেখানো পদ্ধতিতে রাখলেই সেখানে পাসওয়ার্ড ছাড়াই লগিন করতে পারবেন।