Linux VPS پر SSH کو محفوظ کیسے بنائیں

مصنف ONIE انجینئرنگ ٹیم · 12 نومبر، 2026 کو اپ ڈیٹ کیا گیا · 3 منٹ کا مطالعہ

عوامی VPS آن لائن ہوتے ہی چند منٹوں کے اندر خودکار لاگ اِن کوششوں کا نشانہ بن جاتا ہے۔ یہ مراحل SSH پر حملہ کرنا کہیں زیادہ مشکل بنا دیتے ہیں۔ یہ ہدایات Ubuntu یا Debian کے لیے لکھی گئی ہیں؛ اگر ابھی تک آپ کا سرور نہیں بنا تو آپ Linux VPS کرائے پر لے سکتے ہیں اور صاف امیج سے شروع کر سکتے ہیں۔ نئی ترتیبات کو دوسری ونڈو سے ٹیسٹ کرنے تک اپنا موجودہ SSH سیشن کھلا رکھیں۔

1. sudo کے ساتھ عام صارف بنائیں

adduser deploy
usermod -aG sudo deploy

2. پاس ورڈ کے بجائے SSH کیز استعمال کریں

اپنے کمپیوٹر پر:

ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id deploy@YOUR_SERVER_IP
ssh deploy@YOUR_SERVER_IP

پاس ورڈ بند کرنے سے پہلے ایک بار کی کے ذریعے لاگ اِن کر کے تصدیق کر لیں کہ یہ کام کرتی ہے۔

3. پاس ورڈ اور root لاگ اِن بند کریں

/etc/ssh/sshd_config.d/99-hardening.conf بنائیں:

PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3

سِنٹیکس چیک کریں اور سروس دوبارہ لوڈ کریں۔ Ubuntu اور Debian پر سروس کا نام ssh ہے، جبکہ RHEL پر مبنی سسٹمز پر یہ sshd ہے:

sudo sshd -t && sudo systemctl reload ssh

دوسرا ٹرمینل کھولیں اور دوبارہ لاگ اِن کریں۔ صرف اس کے بعد پرانا سیشن بند کریں۔

4. فائر وال فعال کریں

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose

صرف وہی پورٹس کھولیں جن کی آپ کو ضرورت ہو، جیسے ویب سرور کے لیے 80 اور 443۔ آپ کلاؤڈ کنسول میں فائر وال رول کے ذریعے SSH کو اپنے IP ایڈریس تک بھی محدود کر سکتے ہیں۔

5. بار بار کی ناکام کوششیں Fail2ban سے روکیں

sudo apt install -y fail2ban

/etc/fail2ban/jail.local بنائیں:

[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

6. سیکیورٹی اپڈیٹس خودکار طور پر انسٹال کریں

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades

7. اختیاری اضافی اقدامات

  • SSH پورٹ تبدیل کرنے سے لاگ کا شور کم ہوتا ہے، لیکن یہ اپنے طور پر سیکیورٹی اقدام نہیں ہے۔
  • پرائیویٹ کی کو passphrase سے محفوظ کریں اور اس کی بیک اپ کاپی کسی محفوظ جگہ رکھیں۔
  • last اور sudo journalctl -u ssh --since today سے لاگ اِن ریکارڈ کا جائزہ لیں۔
  • سرور کی ترتیب مکمل ہونے کے بعد ایک snapshot لیں تاکہ صاف بنیادی حالت بحال کی جا سکے۔

اگر آپ لاک آؤٹ ہو جائیں تو لاگ اِن کر کے ترتیب درست کرنے کے لیے اپنے کلاؤڈ پینل کا براؤزر کنسول استعمال کریں۔ ہمارا DDoS protection guide دفاع کی اگلی پرت کی وضاحت کرتا ہے۔

اکثر پوچھے گئے سوالات

کیا root لاگ اِن بند کرنا محفوظ ہے؟

ہاں، بشرطیکہ پہلے آپ sudo صارف بنا لیں اور اس کی کی کا کام کرنا ٹیسٹ کر لیں۔ آپ اب بھی sudo کے ذریعے انتظامی کمانڈز چلا سکتے ہیں۔

اگر میں صرف کیز استعمال کرتا ہوں تو کیا مجھے Fail2ban کی ضرورت ہے؟

یہ اختیاری ہے۔ پاس ورڈ لاگ اِن بند ہونے کی صورت میں brute force کامیاب نہیں ہو سکتا، تاہم Fail2ban لاگ کا شور اور لوڈ کم کرتا ہے۔

اگر میری SSH کی کھو جائے تو کیا کریں؟

اپنے کلاؤڈ پینل کے کنسول سے لاگ اِن کریں، ~/.ssh/authorized_keys میں نئی پبلک کی شامل کریں اور پرانی کی ہٹا دیں۔

ماخذ اور مزید مطالعہ

مزید VPS گائیڈز