CH-J Tools でポスト量子鍵タイプ ssh-mldsa44-ed25519 の鍵をサーバーに追加するには、そのサーバーで OpenSSH 10.6 以降が動作している必要があります。OpenSSH 10.6(2026年10月6日)は、この鍵タイプの標準化された形式に対応した最初のリリースです。それ以前のリリースでは拒否されます。Ubuntu 26.04 の 10.2p1 など、一部のリリースは実験的な …@openssh.com 形式のみを認識しますが、CH-J Tools はこの形式を使用しません。
執筆時点では、Ubuntu と Debian は apt 経由で 10.6 を提供していません。このガイドでは、公式の OpenSSH 10.6p2(2026年11月5日、PAM を使用しない Linux ビルドでのパスワード認証の回避を修正)をディストリビューションのパッケージと並行してインストールし、ssh サービスがそれを使用するように設定します。
クリーンインストールした Ubuntu 26.04.1 LTS で、インストール、ssh-mldsa44-ed25519 鍵でのログイン、再起動、ロールバックを検証済みです。
作業を始める前に
- このビルドの保守は管理者自身で行う必要があります。
apt upgradeでは、このビルドのセキュリティ修正は適用されません。OpenSSH のリリースノートを確認し、新しいリリースで手順を繰り返すか、ロールバックしてください。 - 作業中は常に2つ目の 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」と表示し、鍵を追加しません。