تقریباً ہر نیا VPS ایک ہی طرح شروع ہوتا ہے: آپ root کے طور پر لاگ ان کرتے ہیں، کچھ چیزیں انسٹال کرتے ہیں، اور ایک مہینے بعد بھی root ہی ہوتے ہیں۔ یہ اس دن تک چلتا ہے جب کوئی پیسٹ کیا ہوا اسکرپٹ غلط فولڈر حذف کر دے۔ sudo کے ساتھ عام صارف سیٹ کرنے میں پانچ منٹ لگتے ہیں، اور ترتیب کمانڈز سے زیادہ اہم ہے — ترتیب غلط ہوئی تو آپ خود کو باہر لاک کر لیں گے۔
یہ Ubuntu 22.04/24.04 اور Debian 12 کے لیے محفوظ ترتیب ہے۔
1. صارف بنائیں
root کے طور پر:
adduser deploy
usermod -aG sudo deploy
adduser پاس ورڈ اور کچھ اختیاری معلومات مانگتا ہے (ان پر بس Enter دبائیں)۔ اصلی پاس ورڈ چنیں: یہ آپ sudo کے لیے ٹائپ کریں گے۔ Debian کی مختصر امیج پر اگر کمانڈ موجود نہ ہو تو پہلے apt install -y sudo چلائیں۔
2. اسے اپنی 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 فائل کو نظرانداز کرتا ہے جس میں دوسرے صارفین لکھ سکتے ہوں۔
3. کچھ بدلنے سے پہلے ٹیسٹ کریں
root سیشن کھلا رکھیں۔ ایک نئے ٹرمینل میں:
ssh -p 22 deploy@203.0.113.10
sudo whoami
اپنا IP اور پورٹ استعمال کریں — NAT پلان پر یہ ڈیش بورڈ والا ذاتی SSH پورٹ ہے۔ اگر sudo whoami نے root لکھا تو سب ٹھیک ہے۔ اگر لاگ ان ناکام ہو تو ٹھیک کرنے کے لیے root والی ونڈو ابھی آپ کے پاس ہے۔
4. 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 سیشن بند کریں۔
5. اختیاری: آٹومیشن کے لیے پاس ورڈ کے بغیر 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 کے بغیر صارف کا حق دار ہے — یہ سب سے سستا سیکیورٹی اپ گریڈ ہے۔
تبصرے
ابھی کوئی تبصرہ نہیں۔ پہلے بنیں۔