পাসওয়ার্ডে root লগইন বন্ধ করা
পাসওয়ার্ডে root লগইন কেন বিপজ্জনক, PermitRootLogin অপশনগুলো কীভাবে আলাদা এবং মেশিনে অ্যাক্সেস না হারিয়ে এটি কীভাবে বন্ধ করবেন।
আপডেট: ২৩ আগস্ট, ২০২৬
root নামটা সবাই জানে: এটি প্রতিটি মেশিনেই থাকে এবং এর সম্পূর্ণ অনুমতি থাকে। ব্রুট-ফোর্সারকে তখন শুধু একটা জিনিস অনুমান করতে হয় — পাসওয়ার্ড। root-এর জন্য পাসওয়ার্ড লগইন বন্ধ করলে একটি মাত্র প্যারামিটারেই এক গোটা শ্রেণির আক্রমণ বন্ধ হয়ে যায়।
প্রস্তুতি
প্রথমে ফলব্যাক, তারপর নিষেধাজ্ঞা। মন যা করতে চায়, ক্রমটা তার উল্টো।
- sudo সহ একটি ইউজার তৈরি করুন — ইউজার ও sudo।
- এতে আপনার SSH কী যোগ করুন এবং আলাদা একটি টার্মিনাল উইন্ডোতে লগইন যাচাই করুন।
- নিশ্চিত করুন যে
sudo -iকাজ করছে। - এখনই কেবল সেটিংটি পরিবর্তন করুন।
ssh artem@<address>
sudo whoami
দ্বিতীয় কমান্ডটি যদি root ফেরত দেয়, তাহলে আপনার ফলব্যাক আছে।
কনফিগারেশন অপশন
/etc/ssh/sshd_config.d/99-hardening.conf ফাইলে:
| মান | এর অর্থ |
|---|---|
PermitRootLogin yes | সবকিছু অনুমোদিত, পাসওয়ার্ডসহ। কেউ এটা এভাবে রাখে না |
PermitRootLogin prohibit-password | কী কাজ করে, পাসওয়ার্ড প্রত্যাখ্যাত হয়। একটি যুক্তিসঙ্গত ন্যূনতম |
PermitRootLogin forced-commands-only | কেবল পূর্বনির্ধারিত কমান্ড, অটোমেশনের জন্য |
PermitRootLogin no | root SSH-এর মাধ্যমে আদৌ লগইন করতে পারবে না। সবচেয়ে কঠোর অপশন |
প্রস্তাবিত সমন্বয়:
PermitRootLogin prohibit-password
PasswordAuthentication no
দ্বিতীয় প্যারামিটারটি কেবল root-এর জন্য নয়, একসাথে সব ইউজারের জন্য পাসওয়ার্ড লগইন বন্ধ করে। আরও বিস্তারিত জানতে দেখুন SSH হার্ডেনিং।
প্রয়োগ ও যাচাই
sudo sshd -t
sudo systemctl restart ssh
sudo sshd -T | grep -i permitrootlogin
অন্য একটি উইন্ডো থেকে যাচাই করুন যে root আর পাসওয়ার্ড গ্রহণ করছে না এবং আপনার ইউজার কী দিয়ে লগইন করছে:
ssh root@<address>
ssh artem@<address>
sshd রিস্টার্ট করলে বর্তমান সেশন বিচ্ছিন্ন হয় না — যাচাই শেষ না হওয়া পর্যন্ত এটি খোলা রাখুন।
যা এখনও পাওয়া যায়
পরিবর্তনটি কেবল SSH-কে প্রভাবিত করে। root পাসওয়ার্ড এখনও প্রয়োজন এবং এখনও কাজ করে:
- মেশিন কনসোলে, উভয় ট্যাবে — টেক্সট ট্যাব এবং “Screen”;
- রিকভারি ডিস্কের মাধ্যমে লগইন করার সময়;
- সিস্টেমের ভেতরে
su -কমান্ডের জন্য।
পাসওয়ার্ডটি নিজেই এনক্রিপ্ট করে সংরক্ষিত থাকে এবং প্যানেলের /hosting/vds/m/<id>-এ “Access” ট্যাবের একটি বোতাম দিয়ে প্রকাশ করা যায়। এটি আপনার জরুরি পথ, এবং এটি হারানো উচিত নয় — দেখুন ব্যাকআপ কী ও পাসওয়ার্ড।
সাধারণ ভুল
| ভুল | পরিণতি | সমাধান |
|---|---|---|
| আপনি root বন্ধ করেছেন কিন্তু sudo সহ কোনো ইউজার তৈরি করেননি | কেউ মেশিন পরিচালনা করতে পারবে না | প্যানেল কনসোল ব্যবহার করে একটি ইউজার তৈরি করুন |
| কীটি কেবল root-এর জন্য আছে | নতুন ইউজার লগইন করতে পারবে না | authorized_keys কপি করুন এবং অনুমতিগুলো ঠিক করুন |
| সেটিংটি অন্য একটি ফাইল দ্বারা ওভাররাইড হয়েছে | নিয়মটির কোনো প্রভাব নেই | ফাইল নয়, sshd -T যাচাই করুন |
| নিষেধাজ্ঞা কনসোলেও প্রযোজ্য হবে বলে আশা করা | সম্পূর্ণ লকডাউনের একটি মিথ্যা অনুভূতি | কনসোল সবসময় কাজ করে, ডিজাইন অনুযায়ীই |
পাশের উইন্ডোতে বিকল্প লগইন যাচাই না করে কখনও root লগইন বন্ধ করবেন না। যাচাইয়ে দশ সেকেন্ড লাগে; কনসোলের মাধ্যমে রিকভারিতে অনেক বেশি সময় লাগে।