Home Knowledge base Skyline Cloud Ubuntu 22.04/24.04 پر SSH کی (Key) کی توثیق کیسے ترتیب دیں KNOWLEDGE BASE

Ubuntu 22.04/24.04 پر SSH کی (Key) کی توثیق کیسے ترتیب دیں

ایک درست، مرحلہ وار رہنمائی: SSH کی جوڑی (key pair) بنانا، اسے اپنے سرور پر نصب کرنا، اور Skyline Cloud VPS پر زیادہ مضبوط، بغیر پاس ورڈ کے سیکیورٹی کے لیے پاس ورڈ لاگ اِن غیر فعال کرنا۔

Ubuntu 22.04/24.04 پر SSH کی (Key) کی توثیق کیسے ترتیب دیں

ایک درست، مرحلہ وار رہنمائی جس میں SSH کی جوڑی (key pair) بنانے، اسے اپنے سرور پر نصب کرنے، اور Skyline Cloud VPS پر زیادہ مضبوط، بغیر پاس ورڈ کے سیکیورٹی کے لیے پاس ورڈ لاگ اِن غیر فعال کرنے کا طریقہ بتایا گیا ہے۔

SSH کی کی توثیق کیا ہے

SSH کی کی توثیق اُس پاس ورڈ کی جگہ لے لیتی ہے جو آپ کسی سرور سے جُڑتے وقت ٹائپ کرتے ہیں، اور اس کے بدلے ایک خفیہ نگاری (cryptographic) کی جوڑی استعمال کرتی ہے: ایک نجی کی (private key) جو آپ کے کمپیوٹر پر رہتی ہے اور ایک عوامی کی (public key) جو آپ سرور پر رکھتے ہیں۔ جب آپ جُڑتے ہیں تو یہ دونوں ریاضیاتی طور پر آپس میں ملائی جاتی ہیں، بغیر اس کے کہ نیٹ ورک پر کوئی راز (secret) بھیجا جائے۔ یہ پاس ورڈ کے مقابلے میں زیادہ آسان بھی ہے (کوئی پاس ورڈ ٹائپ نہیں کرنا پڑتا) اور کہیں زیادہ محفوظ بھی، کیونکہ پاس ورڈ کا اندازہ لگایا جا سکتا ہے یا اسے brute-force سے توڑا جا سکتا ہے۔

Skyline Cloud VPS یا کلاؤڈ سرور لانچ کرنے کے بعد سب سے پہلے یہی کام کرنا چاہیے۔ نیچے دیے گئے مراحل Ubuntu 22.04 LTS اور 24.04 LTS کے لیے ہیں، مگر معمولی تبدیلیوں کے ساتھ یہ تقریباً کسی بھی Linux سرور پر لاگو ہوتے ہیں۔

پیشگی تقاضے

  • ایک ایسا سرور جس تک آپ پہلے ہی SSH کے ذریعے رسائی حاصل کر سکتے ہوں، اور جس میں ایک ایسا صارف ہو جسے sudo کے اختیارات حاصل ہوں۔ نئے Skyline Cloud VPS پر یہ عام طور پر root ہوتا ہے یا کوئی ایسا صارف جو آپ نے provisioning کے وقت بنایا تھا۔
  • آپ کی اپنی مشین پر ایک ٹرمینل: macOS یا Linux پر Terminal ایپ، یا Windows 10/11 پر PowerShell / Windows Terminal (OpenSSH اس میں پہلے سے شامل ہوتا ہے)۔

مرحلہ 1 — اپنی مقامی مشین پر ایک کی جوڑی بنائیں

یہ کمانڈ اپنے کمپیوٹر پر چلائیں، سرور پر نہیں:

ssh-keygen -t ed25519 -C "you@example.com"

ہم -t ed25519 اس لیے استعمال کرتے ہیں کیونکہ Ed25519 کیز جدید، تیز اور مختصر کی کے باوجود محفوظ ہوتی ہیں۔ -C فلیگ صرف ایک تبصرہ (آپ کا ای میل) شامل کرتا ہے تاکہ آپ بعد میں کی کو پہچان سکیں۔ اگر آپ کو کسی ایسے پرانے سسٹم کی حمایت کرنی ہو جس میں Ed25519 موجود نہ ہو، تو اس کے بجائے ایک مضبوط RSA کی استعمال کریں:

ssh-keygen -t rsa -b 4096 -C "you@example.com"

پہلے سے طے شدہ فائل مقام (~/.ssh/id_ed25519) قبول کرنے کے لیے Enter دبائیں۔ جب passphrase طلب کیا جائے، تو ایک مضبوط passphrase مقرر کریں۔ passphrase آپ کی نجی کی کو ڈسک پر خفیہ (encrypt) کر دیتا ہے، تاکہ چوری شدہ لیپ ٹاپ سرور تک رسائی نہ دے سکے۔ اگر آپ ایجنٹ استعمال کریں (مرحلہ 5)، تو آپ کو فی سیشن صرف ایک بار یہ ٹائپ کرنا پڑے گا۔

اس سے دو فائلیں بنتی ہیں:

فائل کردار کیا اسے شیئر کریں؟
~/.ssh/id_ed25519 نجی کی (Private key) کبھی نہیں شیئر کریں
~/.ssh/id_ed25519.pub عوامی کی (Public key) سرورز پر کاپی کرنا محفوظ ہے

مرحلہ 2 — عوامی کی کو اپنے سرور پر کاپی کریں

سب سے آسان طریقہ ssh-copy-id ہے، جو آپ کی عوامی کی کو سرور کی ~/.ssh/authorized_keys میں شامل کر دیتا ہے اور آپ کے لیے اجازتیں (permissions) بھی درست کر دیتا ہے:

ssh-copy-id -i ~/.ssh/id_ed25519.pub user@your_server_ip

آپ سے آخری بار آپ کا پاس ورڈ پوچھا جائے گا۔ user کی جگہ اپنا سرور یوزر نیم لکھیں (مثلاً root یا ubuntu) اور your_server_ip کی جگہ اپنے VPS کا IP پتہ لکھیں۔

اگر ssh-copy-id دستیاب نہ ہو

Windows پر، یا اگر یہ ٹول موجود نہ ہو، تو کی کو دستی طور پر نصب کریں۔ عوامی کی کو دکھائیں:

cat ~/.ssh/id_ed25519.pub

آؤٹ پٹ کی واحد سطر کو کاپی کریں، اپنے پاس ورڈ کے ساتھ سرور پر لاگ اِن کریں، اور یہ چلائیں:

mkdir -p ~/.ssh && chmod 700 ~/.ssh
echo "ssh-ed25519 AAAA... you@example.com" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

مثال کے بجائے اپنی اپنی کی والی سطر چسپاں (paste) کریں۔ درست اجازتیں اہمیت رکھتی ہیں: اگر فائل یا ~/.ssh ڈائریکٹری بہت زیادہ کھلی (open) ہو تو SSH authorized_keys کو نظر انداز کر دیتا ہے۔

مرحلہ 3 — کی لاگ اِن کو آزمائیں

ایک نیا ٹرمینل کھولیں اور جُڑیں:

ssh user@your_server_ip

اگر آپ نے passphrase مقرر کیا تھا، تو آپ کا سسٹم آپ سے وہ طلب کرے گا (سرور کا پاس ورڈ نہیں)۔ آپ سرور کے کمانڈ پرامپٹ پر پہنچ جانے چاہئیں۔ اگلے مرحلے کے دوران اس سیشن کو کھلا رکھیں، تاکہ کوئی غلطی آپ کو باہر بند (lock out) نہ کر دے۔

مرحلہ 4 — پاس ورڈ کی توثیق غیر فعال کریں

جب کی لاگ اِن کام کرنے لگے، تو پاس ورڈ بند کر دیں تاکہ brute-force کی کوششیں بے کار ہو جائیں۔ سرور پر، SSH ڈیمن کی کنفگ میں ترمیم کریں:

sudo nano /etc/ssh/sshd_config

ان سطروں کو تلاش کریں اور مقرر کریں (کوئی بھی ابتدائی # ہٹا دیں):

PasswordAuthentication no
PubkeyAuthentication yes

Ubuntu 22.04/24.04 پر، drop-in ڈائریکٹری /etc/ssh/sshd_config.d/ کو بھی دیکھ لیں — وہاں موجود کوئی فائل (مثلاً 50-cloud-init.conf) مرکزی فائل کو override کر سکتی ہے۔ یقینی بنائیں کہ کوئی فائل PasswordAuthentication yes مقرر نہ کرتی ہو:

sudo grep -r PasswordAuthentication /etc/ssh/sshd_config /etc/ssh/sshd_config.d/

پھر کنفگ کی توثیق کریں اور سروس کو دوبارہ لوڈ کریں:

sudo sshd -t
sudo systemctl restart ssh

Ubuntu پر سروس کا نام ssh ہے (ssh.service)۔ اگر restart ssh بتائے کہ ایسا کوئی یونٹ نہیں ہے، تو sudo systemctl restart sshd استعمال کریں۔

اب ایک اور نیا ٹرمینل کھولیں اور تصدیق کریں کہ آپ اب بھی اپنی کی کے ساتھ لاگ اِن کر سکتے ہیں۔ اپنے اصل سیشن کو صرف اُسی وقت بند کریں جب نیا سیشن کامیاب ہو جائے۔

مرحلہ 5 — ایک SSH ایجنٹ استعمال کریں (اختیاری مگر تجویز کردہ)

تاکہ آپ کو ہر کنکشن پر passphrase دوبارہ ٹائپ نہ کرنا پڑے، فی سیشن ایک بار کی کو ایجنٹ میں لوڈ کریں:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

macOS پر، اسے keychain میں محفوظ کریں تاکہ یہ ری بوٹس کے بعد بھی برقرار رہے:

ssh-add --apple-use-keychain ~/.ssh/id_ed25519

مرحلہ 6 — ایک منظم SSH config (اختیاری)

اپنی مقامی مشین پر ~/.ssh/config میں ایک اندراج شامل کریں تاکہ آپ ایک مختصر عرفی نام (alias) سے جُڑ سکیں:

Host skyline-vps
    HostName your_server_ip
    User ubuntu
    IdentityFile ~/.ssh/id_ed25519

اب آپ کو صرف ssh skyline-vps لکھنے کی ضرورت ہے۔

مسائل کا حل (Troubleshooting)

  • مرحلہ 2 کے بعد بھی پاس ورڈ مانگا جا رہا ہے۔ اجازتیں غلط ہیں۔ سرور پر chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys چلائیں، اور یہ یقینی بنائیں کہ فائل آپ کے صارف کی ملکیت میں ہے۔
  • Permission denied (publickey)۔ سرور آپ کی کی پیش نہیں کر رہا، یا آپ نے اسے غلط صارف کی ہوم ڈائریکٹری میں کاپی کر دیا ہے۔ یہ دیکھنے کے لیے کہ SSH کیا آزماتا ہے، -v شامل کریں: ssh -v user@your_server_ip۔
  • پاس ورڈ غیر فعال کرنے کے بعد باہر بند ہو گئے۔ اپنے فراہم کنندہ کے کنسول (آپ کے کنٹرول پینل میں ویب پر مبنی VNC/serial کنسول) کا استعمال کرتے ہوئے لاگ اِن کریں اور عارضی طور پر PasswordAuthentication کو دوبارہ فعال کریں۔

اسے ایک منظم، اِن-کنگڈم VPS پر چلائیں

SSH کیز کنکشن کی حفاظت کرتی ہیں، مگر خود سرور کو اب بھی patching، بیک اپس اور نگرانی کی ضرورت ہوتی ہے۔ Skyline Cloud VPS یا کلاؤڈ سرور پر آپ کو ہارڈ ویئر سعودی عرب کے اندر میزبان ملتا ہے جو PDPL، NCA اور SDAIA کے ڈیٹا کی رہائش (data-residency) کے تقاضوں کے لیے موزوں ہے، مقامی عربی سپورٹ، اور ایسے منظم اختیارات جو OS کی سختی (hardening) اور آپ کے لیے کلاؤڈ بیک اپس سنبھالتے ہیں۔ اسے اسی اِن-کنگڈم پلیٹ فارم پر کاروباری ای میل ہوسٹنگ کے ساتھ جوڑیں اور آپ کا پورا اسٹیک compliant رہے گا۔

چند منٹوں میں ایک محفوظ سرور تعینات کرنے کے لیے تیار ہیں؟ اپنا Skyline Cloud اکاؤنٹ بنائیں اور آج ہی ایک VPS لانچ کریں۔

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

See author profile
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Skyline Cloud for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.