SSH کیز: بنانا اور شامل کرنا
کی پیئر کیسے جنریٹ کریں، سرور کے پینل میں پبلک کی کیسے شامل کریں، محفوظ کرنا سرور کو ری بوٹ کیوں کرتا ہے، اور Windows Server پر کیز کیوں کام نہیں کرتیں۔
اپ ڈیٹ 23 اگست، 2026
SSH کی ایک چابی فائلوں کا ایک جوڑا ہے: نجی چابی آپ کے پاس رہتی ہے، عوامی چابی مشین پر رکھی جاتی ہے۔ پاس ورڈ کے برعکس، اسے بروٹ فورس نہیں کیا جا سکتا۔
چابیوں کا جوڑا بنائیں
Windows Terminal، PowerShell، macOS اور Linux میں کمانڈ ایک ہی ہے:
ssh-keygen -t ed25519 -C "artem@laptop"
جب فائل کے بارے میں پوچھا جائے تو Enter دبائیں (ڈیفالٹ ~/.ssh/id_ed25519 ہے)۔ چابی پر پاس فریز ضرور لگائیں: اگر آپ کا لیپ ٹاپ چوری ہو جائے تو بغیر پاس فریز والی چابی مشین تک فوری رسائی دے دیتی ہے۔
دو فائلیں ظاہر ہوں گی:
| فائل | یہ کیا ہے |
|---|---|
id_ed25519 | نجی چابی۔ اسے کبھی شیئر نہ کریں، کبھی کہیں اپ لوڈ نہ کریں |
id_ed25519.pub | عوامی چابی۔ یہی ہے جو آپ پینل میں پیسٹ کرتے ہیں |
عوامی چابی دیکھنے کے لیے:
cat ~/.ssh/id_ed25519.pub
لائن کچھ اس طرح دکھتی ہے: ssh-ed25519 AAAAC3Nza... artem@laptop.
پینل میں چابی شامل کریں
مشین کا پینل /hosting/vds/m/<id> پر کھولیں، ”Access“ ٹیب، ”SSH keys“ ذیلی سیکشن، چابیاں فیلڈ میں پیسٹ کریں اور ”Save keys“ پر کلک کریں۔
چابیاں محفوظ کرنے سے چلتی ہوئی مشین ری بوٹ ہوتی ہے۔ چابیاں بوٹ کے وقت ابتدائی سیٹ اپ کے ذریعے لاگو ہوتی ہیں، اس لیے ری اسٹارٹ کے بغیر وہ اثر نہیں کریں گی۔ جو کچھ ری بوٹ برداشت نہیں کرتا وہ منقطع ہو جائے گا: کھلے کنکشنز، غیر محفوظ ڈیٹا، بغیر آٹو اسٹارٹ والی سروسز۔ پروڈکشن مشین پر مناسب وقت چنیں اور فہرست ایک ہی بار میں ایڈٹ کریں، ایک ایک چابی کر کے نہیں۔
چابیوں کی فہرست مکمل طور پر بدل دی جاتی ہے۔ پورا سیٹ بھیجیں: اگر آپ کے پاس پہلے سے آفس کمپیوٹر کی چابی تھی اور آپ صرف نئی چابی محفوظ کرتے ہیں تو پرانی کام کرنا بند کر دے گی۔ خالی فیلڈ تمام چابیاں ہٹا دیتی ہے۔
فارمیٹ: ہر لائن میں ایک چابی:
ssh-ed25519 AAAAC3Nza... artem@laptop
ssh-ed25519 AAAAC3Nza... artem@work
پوری لائن پیسٹ کریں، شروع میں ٹائپ اور آخر میں کمنٹ سمیت، بغیر کسی لائن بریک کے۔
آپ /hosting/vds/new پر آرڈر کرتے وقت ہی چابی بتا سکتے ہیں — پھر یہ مشین کے تیار ہوتے وقت اس میں شامل کر دی جائے گی، اور کوئی اضافی ری بوٹ نہیں ہوگا۔
Windows Server میں SSH چابیاں نہیں ہوتیں
چابی والی فیلڈ Linux مشینوں پر لاگو ہوتی ہے۔ ہم Windows Server 2022 اور 2025 بغیر SSH سرور کے تیار کرتے ہیں: آپ پینل کے پاس ورڈ کے ساتھ Administrator کے طور پر RDP کے ذریعے لاگ ان کرتے ہیں۔ ایسی مشین کے لیے محفوظ کی گئی چابی کچھ نہیں کھولے گی — اسی لیے آرڈر وزرڈ اس کے لیے فیلڈ نہیں دکھاتا۔
کیسے کنیکٹ کریں اور پہلے چند منٹ میں کیا کریں، یہ مضمون RDP کے ذریعے Windows Server میں پہلا لاگ ان میں بتایا گیا ہے، اور رسائی کا تحفظ مضمون RDP سیکیورٹی: پورٹ، پاس ورڈز، پابندیاں میں۔
لاگ ان ٹیسٹ کریں
موجودہ سیشن بند کیے بغیر، ایک نئی ٹرمینل ونڈو سے:
ssh root@203.0.113.10
اگر آپ سے پاس ورڈ نہیں پوچھا گیا تو چابی کام کر رہی ہے۔ اگر پوچھا گیا تو نیچے دی گئی ایرر ٹیبل دیکھیں۔
ہر بار ایڈریس ٹائپ کرنے سے بچنے کے لیے ~/.ssh/config فائل سیٹ اپ کریں۔
پاس ورڈ لاگ ان بند کریں
صرف کامیاب ٹیسٹ کے بعد:
nano /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin prohibit-password
systemctl restart ssh
اگر کچھ غلط ہو جائے تو پینل میں ٹیکسٹ کنسول کے ذریعے مشین تک آپ کی رسائی پھر بھی رہے گی — یہ SSH سے آزادانہ کام کرتا ہے۔
عام غلطیاں
| علامت | وجہ |
|---|---|
| پھر بھی پاس ورڈ پوچھتا ہے | پینل میں .pub کے بجائے نجی چابی پیسٹ کر دی گئی، یا چابی کا نام غلط ہے اور کلائنٹ اسے نہیں اٹھاتا |
UNPROTECTED PRIVATE KEY FILE | اجازتیں بہت وسیع ہیں: chmod 600 ~/.ssh/id_ed25519 |
| چابی کام کرتی تھی پھر بند ہو گئی | پینل میں فہرست اس چابی کے بغیر اوور رائٹ کر دی گئی |
| ری انسٹال کے بعد چابی کام نہیں کرتی | مشین دوبارہ بنائی گئی اور چابیاں اس میں شامل نہیں ہوئیں۔ ”SSH keys“ کھولیں اور فہرست دوبارہ محفوظ کریں |
پاس ورڈ بند کرنے کے بعد Permission denied (publickey) | چابی مشین تک پہنچی ہی نہیں — پینل کنسول سے لاگ ان کریں اور /root/.ssh/authorized_keys چیک کریں |
تفصیلی آؤٹ پٹ کے ساتھ تشخیص:
ssh -v root@203.0.113.10
آؤٹ پٹ دکھاتا ہے کہ کلائنٹ نے کون سی چابیاں پیش کیں اور سرور نے کیا جواب دیا۔
PuTTY استعمال کرنے والوں کو چابی اپنے فارمیٹ میں چاہیے — دیکھیں PuTTY سے کنیکٹ کرنا۔