CH-J Tools کسی سرور پر پوسٹ کوانٹم کلید کی قسم ssh-mldsa44-ed25519 صرف اسی وقت شامل کر سکتا ہے جب اس سرور پر OpenSSH 10.6 یا اس سے نیا ورژن چل رہا ہو۔ OpenSSH 10.6 (6 اکتوبر 2026) اس کلید کی قسم کی معیاری شکل والا پہلا اجرا ہے۔ پرانے اجرا اسے مسترد کر دیتے ہیں۔ ان میں سے کچھ، مثلاً Ubuntu 26.04 میں 10.2p1، صرف تجرباتی …@openssh.com شکل کو پہچانتے ہیں، جسے CH-J Tools استعمال نہیں کرتا۔
یہ رہنما لکھے جانے کے وقت Ubuntu اور Debian، apt کے ذریعے 10.6 فراہم نہیں کرتے۔ یہ رہنما تقسیم کے پیکیج کے ساتھ سرکاری OpenSSH 10.6p2 (5 نومبر 2026، PAM کے بغیر Linux بلڈز میں پاس ورڈ سے توثیق کو بائی پاس کرنے کی خامی درست کرتا ہے) نصب کرتا ہے اور ssh سروس کو اسے استعمال کرنے کے لیے ترتیب دیتا ہے۔
Ubuntu 26.04.1 LTS کی صاف تنصیب پر جانچ کی گئی: تنصیب، ssh-mldsa44-ed25519 کلید سے لاگ اِن، ری بوٹ اور سابقہ حالت کی بحالی۔
شروع کرنے سے پہلے
- اس بلڈ کی دیکھ بھال آپ کو خود کرنی ہوگی۔
apt upgradeاس کے لیے حفاظتی اصلاحات فراہم نہیں کرے گا۔ OpenSSH کے ریلیز نوٹس پر نظر رکھیں اور نئے اجرا کے ساتھ یہ طریقۂ کار دہرائیں، یا سابقہ حالت بحال کریں۔ - پورے طریقۂ کار کے دوران دوسرا SSH سیشن کھلا رکھیں۔ بہتر یہ ہے کہ آپ کو کنسول تک بھی رسائی حاصل ہو (ہائپروائزر، IPMI، کلاؤڈ کنسول)۔
- پہلے اسے کسی آزمائشی مشین پر آزمائیں۔
- آپ کو root اختیارات، systemd،
/var/tmpمیں تقریباً 1 GiB خالی جگہ اورaptاور OpenSSH ڈاؤن لوڈ کرنے کے لیے انٹرنیٹ تک رسائی درکار ہے۔
اسکرپٹ کیا کرتا ہے
aptکے ذریعے بلڈ کے لیے درکار پیکیجز نصب کرتا ہے۔openssh-10.6p2.tar.gzڈاؤن لوڈ کرتا ہے۔ پہلے سے مقرر کردہ SHA-256 اور OpenSSH کے اجرا کی کلید7168 B983 815A 5EEF 59A4 ADFD 2A3F 414E 7360 60BAسے بنائے گئے OpenPGP دستخط کی تصدیق کرتا ہے۔- بلڈ بنا کر
/opt/openssh-10.6p2میں نصب کرتا ہے۔/etc/sshمیں آپ کی ترتیب (ہوسٹ کلیدیں،sshd_config) اور PAM کی ترتیب جوں کی توں رہتی ہیں۔ - نئے ورژن سے موجودہ
sshd_configکی جانچ کرتا ہے۔ پھر127.0.0.1:2226پر ایک آزمائشی انسٹینس شروع کرتا ہے اور دونوں جانچیں کامیاب ہونے تک کوئی تبدیلی فعال نہیں کرتا۔ - systemd کی اضافی ترتیبات کی فائل
/etc/systemd/system/ssh.service.d/chj-openssh.confشامل کرتا ہے اورssh.socketغیر فعال کرتا ہے، کیونکہ اصل منصوبے کا sshd ساکٹ کے ذریعے فعال ہونے کی سہولت نہیں رکھتا۔ پھرssh.serviceدوبارہ شروع کرتا ہے۔ - جانچتا ہے کہ چلنے والا پراسیس
/opt/openssh-10.6p2/sbin/sshdہے اور بینر میںSSH-2.0-OpenSSH_10.6درج ہے۔ اگر ان میں سے کوئی جانچ ناکام ہو تو خود بخود سابقہ حالت بحال کر دیتا ہے۔
تنصیب
curl -fsSLO https://tools.ch-j.de/files/tools/chj-openssh-10.6.sh
echo "cdf3031a0b64db3e3bf3c83d31bd746aee5505757b1af5e137750326ed8d7a01 chj-openssh-10.6.sh" | sha256sum -c -
less chj-openssh-10.6.sh # read it before running it as root
sudo bash chj-openssh-10.6.sh install
پھر ایک نیا SSH کنکشن کھولیں۔ پرانا سیشن صرف تب بند کریں جب نئے کنکشن سے لاگ اِن کامیاب ہو جائے۔
جانچ اور سابقہ حالت کی بحالی
sudo bash chj-openssh-10.6.sh status # running binary, ssh.socket, banner
sudo bash chj-openssh-10.6.sh rollback # back to the distribution sshd
سابقہ حالت کی بحالی اضافی ترتیبات کی فائل ہٹا دیتی ہے، ssh.socket کو دوبارہ فعال کرتی ہے اگر وہ پہلے فعال تھا، اور تقسیم کا sshd دوبارہ شروع کرتی ہے۔ /opt/openssh-10.6p2 میں موجود بلڈ ڈسک پر رہتا ہے جب تک آپ اسے حذف نہ کریں۔ سابقہ حالت بحال کرنے کے بعد ssh-mldsa44-ed25519 کلیدیں اس سرور پر کام نہیں کرتیں۔
پھر CH-J Tools میں
سرور سے دوبارہ جڑیں۔ اب Users میں آپ Keychain سے ssh-mldsa44-ed25519 کلید شامل کر سکتے ہیں۔ اگر سرور اب بھی پرانا ورژن بتاتا ہے تو CH-J Tools پیغام "OpenSSH 10.6 or newer is required" دکھاتا ہے اور کلید شامل نہیں کرتا۔