প্রায় প্রতিটি নতুন VPS একইভাবে শুরু হয়: আপনি root হিসেবে লগইন করেন, কয়েকটা জিনিস ইনস্টল করেন, আর এক মাস পরেও root-ই থাকেন। এটা ততদিন চলে যতদিন না কোনো পেস্ট করা স্ক্রিপ্ট ভুল ফোল্ডার মুছে ফেলে। sudo সহ সাধারণ ইউজার সেট করতে পাঁচ মিনিট লাগে, আর কমান্ডের চেয়ে ক্রম বেশি গুরুত্বপূর্ণ — ক্রম ভুল হলে নিজেকে বাইরে আটকে ফেলবেন।
Ubuntu 22.04/24.04 আর Debian 12-এর জন্য নিরাপদ ক্রম এটা।
১. ইউজার তৈরি করুন
root হিসেবে:
adduser deploy
usermod -aG sudo deploy
adduser একটা পাসওয়ার্ড আর কিছু ঐচ্ছিক তথ্য চায় (ওগুলোতে শুধু Enter চাপুন)। আসল পাসওয়ার্ড বাছুন: sudo-র জন্য আপনি এটা টাইপ করবেন। Debian-এর মিনিমাল ইমেজে কমান্ড না থাকলে আগে apt install -y sudo চালান।
২. তাকে আপনার SSH কী দিন
সবচেয়ে সহজ উপায় হলো সঠিক মালিকানা রেখে root-এর অনুমোদিত কী কপি করা:
rsync --archive --chown=deploy:deploy /root/.ssh /home/deploy
হাতে করতে চাইলে:
mkdir -p /home/deploy/.ssh
cp /root/.ssh/authorized_keys /home/deploy/.ssh/
chown -R deploy:deploy /home/deploy/.ssh
chmod 700 /home/deploy/.ssh
chmod 600 /home/deploy/.ssh/authorized_keys
ভুল পারমিশন হলো কী দিয়ে লগইন চুপচাপ ব্যর্থ হওয়ার ক্লাসিক কারণ। SSH এমন authorized_keys উপেক্ষা করে যেটায় অন্য ইউজাররা লিখতে পারে।
৩. কিছু বদলানোর আগে পরীক্ষা করুন
root সেশন খোলা রাখুন। একটা নতুন টার্মিনালে:
ssh -p 22 deploy@203.0.113.10
sudo whoami
নিজের IP আর পোর্ট ব্যবহার করুন — NAT প্ল্যানে সেটা ড্যাশবোর্ডের ব্যক্তিগত SSH পোর্ট। sudo whoami যদি root ছাপে, সব ঠিক আছে। লগইন ব্যর্থ হলে ঠিক করার জন্য root উইন্ডো এখনও আপনার হাতে আছে।
৪. root লগইন বন্ধ করুন
এবার দরজা বন্ধ করুন। মূল কনফিগ বদলানোর বদলে একটা ছোট drop-in ফাইল তৈরি করুন:
cat > /etc/ssh/sshd_config.d/10-hardening.conf <<'EOF'
PermitRootLogin no
PasswordAuthentication no
EOF
sshd -t && systemctl reload ssh
sshd -t আগে সিনট্যাক্স পরীক্ষা করে। ভাঙা কনফিগ আর reload — এভাবেই মানুষ কনসোলের ওপর নির্ভরশীল হয়ে পড়ে। PasswordAuthentication no তখনই অর্থবহ যখন নতুন ইউজারের জন্য কী দিয়ে লগইন কাজ করছে — যা আপনি এইমাত্র পরীক্ষা করলেন।
আরেকটা টার্মিনাল খুলে নিশ্চিত হন যে root প্রত্যাখ্যাত হচ্ছে আর deploy এখনও ঢুকতে পারছে। তারপর পুরোনো root সেশন বন্ধ করুন।
৫. ঐচ্ছিক: অটোমেশনের জন্য পাসওয়ার্ড ছাড়া sudo
কোনো ডিপ্লয় স্ক্রিপ্টের প্রশ্ন ছাড়া sudo দরকার হলে ঠিক ততটুকুই দিন, তার বেশি নয়:
visudo -f /etc/sudoers.d/deploy
deploy ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart myapp
সত্যি বলতে NOPASSWD: ALL লোভনীয়, কিন্তু এর মানে চুরি হওয়া কী মানেই root। অটোমেশন যে কমান্ডগুলো চালায় শুধু সেগুলোতে সীমিত রাখুন।
কিছু গোলমাল হলে
ড্যাশবোর্ডের ওয়েব কনসোল SSH বা ফায়ারওয়ালের ওপর নির্ভর করে না। সেখান থেকে ঢুকুন, /etc/ssh/sshd_config.d/-এর ফাইলটা ঠিক করুন, reload করুন, ব্যস। পুরো পুনরুদ্ধারের পদ্ধতি আমরা লিখেছি আটকে যাওয়া VPS-এ কীভাবে আবার ঢুকবেন-এ।
এরপর কী
- সত্যিকার অর্থে শুধু কী-ভিত্তিক লগইনে যান: SSH কী দিয়ে প্রমাণীকরণ।
- brute force চেষ্টার শব্দ কমান: fail2ban।
- বাকি মৌলিক কাজ নতুন VPS-এর নিরাপত্তা চেকলিস্ট দিয়ে সারুন।
প্রতিটি প্ল্যানের অ্যাক্সেস বিকল্প অ্যাক্সেস ডকুমেন্টেশনে আছে। $3-এর Nano-ও root ছাড়া একজন ইউজারের যোগ্য — এটাই সবচেয়ে সস্তা নিরাপত্তা আপগ্রেড।
মন্তব্য
এখনো কোনো মন্তব্য নেই। প্রথম হোন।