CH-J Toolsمدیریت سرور از طریق SSH
منو

OpenSSH 10.6 برای کلیدهای پساکوانتومی SSH

دانلود فایل

این ترجمه در حال بازبینی زبانی است. اگر بخشی روشن نیست، آن را با متن اصلی انگلیسی مقایسه کنید.

CH-J Tools تنها زمانی می‌تواند نوع کلید پساکوانتومی ssh-mldsa44-ed25519 را به سرور اضافه کند که سرور OpenSSH 10.6 یا جدیدتر را اجرا کند. OpenSSH 10.6 (۱۴ مهر ۱۴۰۵) نخستین نسخه‌ای است که شکل استانداردشدهٔ این نوع کلید را پشتیبانی می‌کند. نسخه‌های قدیمی‌تر آن را رد می‌کنند. برخی از آن‌ها، مانند 10.2p1 در Ubuntu 26.04، فقط گونهٔ آزمایشی …@openssh.com را می‌شناسند که CH-J Tools از آن استفاده نمی‌کند.

در زمان نگارش این راهنما، Ubuntu و Debian نسخهٔ 10.6 را از طریق apt ارائه نمی‌کنند. این راهنما نسخهٔ رسمی OpenSSH 10.6p2 (۱۴ آبان ۱۴۰۵، رفع آسیب‌پذیری دور زدن احراز هویت با گذرواژه در ساخت‌های Linux بدون PAM) را در کنار بستهٔ توزیع نصب می‌کند و سرویس ssh را برای استفاده از آن تنظیم می‌کند.

روی نصب تازهٔ Ubuntu 26.04.1 LTS آزمایش شده است: نصب، ورود با کلید ssh-mldsa44-ed25519، راه‌اندازی مجدد و بازگردانی.

پیش از شروع

اسکریپت چه می‌کند

  1. وابستگی‌های لازم برای ساخت را با apt نصب می‌کند.
  2. فایل openssh-10.6p2.tar.gz را دریافت می‌کند. مقدار ازپیش‌تعیین‌شدهٔ SHA-256 و امضای OpenPGP را با کلید انتشار OpenSSH با اثر انگشت 7168 B983 815A 5EEF 59A4 ADFD 2A3F 414E 7360 60BA بررسی می‌کند.
  3. برنامه را ساخته و در /opt/openssh-10.6p2 نصب می‌کند. تنظیمات شما در /etc/ssh (کلیدهای میزبان، sshd_config) و تنظیمات PAM بدون تغییر باقی می‌مانند.
  4. فایل فعلی sshd_config را با نسخهٔ جدید بررسی می‌کند. سپس یک نمونهٔ آزمایشی روی 127.0.0.1:2226 اجرا می‌کند و تا زمانی که هر دو بررسی موفق نباشند، هیچ تغییری برای استفاده از نسخهٔ جدید اعمال نمی‌کند.
  5. فایل تنظیمات تکمیلی systemd با مسیر /etc/systemd/system/ssh.service.d/chj-openssh.conf را اضافه می‌کند و ssh.socket را غیرفعال می‌کند، زیرا sshd پروژهٔ اصلی از فعال‌سازی از طریق سوکت پشتیبانی نمی‌کند. سپس ssh.service را دوباره راه‌اندازی می‌کند.
  6. بررسی می‌کند که فرایند در حال اجرا /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 می‌توانید یک کلید ssh-mldsa44-ed25519 از Keychain اضافه کنید. اگر سرور همچنان نسخه‌ای قدیمی‌تر را گزارش کند، CH-J Tools پیام "OpenSSH 10.6 or newer is required" را نمایش می‌دهد و کلید را اضافه نمی‌کند.