maxOS 26.3 にアップグレードして、いつものように ssh でアクセスしたら、
** WARNING: connection is not using a post-quantum key exchange algorithm. ** This session may be vulnerable to "store now, decrypt later" attacks. ** The server may need to be upgraded. See https://openssh.com/pq.html Last login: Sat Feb 14 09:37:52 2026 from なんとか.かんとか.foo.bar |
「現在の接続は将来の量子コンピュータに対して安全ではない可能性がある」??
量子コンピュータ… 当面気にしなくても良いような気がするが、 警告は出ないようにするのが吉。
私は OpenSSH を使っているわけだが、そのバージョンが古いと未対応らしい。 バージョンが 9.5 以上であることが推奨される、とか。 (9.0 以上であれば一応使える、という記事もあった。)
maxOS 26.3 では、
% ssh -V OpenSSH_10.2p1, LibreSSL 3.3.6 |
% sudo sshd -V OpenSSH_10.2p1, LibreSSL 3.3.6 |
(この場合はセーフだけど、古い Intel Mac だと、 macOS に付属する OpenSSH のバージョンが 9.0p1 だったりする。 自分で新しいのをインストールするべきか…ちょっと面倒だな。)
設定も直す必要がある。これまで sshd_config に
| これまではこう設定していた |
KexAlgorithms curve25519-sha256@libssh.org |
| 試しに設定をこう直してみる |
KexAlgorithms +sntrup761x25519-sha512@openssh.com,curve25519-sha256@libssh.org |
| 実際に採用される kex:algorithm を確認 |
% ssh -vv user@host 2>&1 | grep "kex: algorithm" debug1: kex: algorithm: sntrup761x25519-sha512@openssh.comこの後 exit リターンを入力して抜ける。 |
(OpenSSH 9.0 が走っている) 古い Intel Mac でも、一応は大丈夫そうだった。
結局は、設定を1行見直しただけ、ということになる。 一応、一件落着??
ところで、今回も、やはり ChatGPT に相談した。 そうしなかった場合は、 https://www.openssh.org/pq.htmlの説明を読んだのかな。読んでみるか。
| https://www.openssh.org/pq.html から抜粋 |
| OpenSSHはリリース9.0(2022年4月)以降、 デフォルトで 耐量子鍵共有(KexAlgorithms)を提供しており、 当初はsntrup761x25519-sha512アルゴリズムを採用していました。 最近では、OpenSSH 9.9で2つ目の耐量子鍵共有(mlkem768x25519-sha256)を追加し、 OpenSSH 10.0(2025年4月)で新しいデフォルトスキームとなりました。 |
あれ?そうすると sntrup761x25519-sha512 でなくて mlkem768x25519-sha256 を使うべきなのかな。
そうだとすると
KexAlgorithms +mlkem768x25519-sha256,sntrup761x25519-sha512@openssh.com |
あれ、これがデフォールトならば、そもそも何も書かない、というのが正解か?
何も書かないでやってみる。 …ダメだった。 KexAlgorithms が ecdh-sha2-nistp256 になってしまう。 /System/Library/Templates/Data/private/etc/ssh/crypto.conf が
# Default algorithms favoring higher-performance FIPS algorithms # in most cases. # # To configure these SSH algorithms, run the following command: # # sudo ln -fs crypto/apple.conf /etc/ssh/crypto.conf # Ciphers ^aes128-gcm@openssh.com,aes256-gcm@openssh.com KexAlgorithms ^ecdh-sha2-nistp256 MACs ^hmac-sha2-256-etm@openssh.com,hmac-sha2-256 |
/etc/ssh/crypto.conf を作るという手もあるが、 ~/.ssh/config に
Host わたしのマシン.どめいん名
KexAlgorithms mlkem768x25519-sha256,sntrup761x25519-sha512@openssh.com,curve25519-sha256,ecdh-sha2-nistp256
|
OpenSSH 自体は、デフォールトで良い動作をするように作られている (改良が続けられている) が、 それを利用する側が、そのときどき良かれと考えて、 色々な「うまい」設定をすると、(そのときは良いけれど) 時が経つとズレてしまう、 ということなのかな。 まあ、よくあることだ。 OpenSSH のようなものは、そのうちに改善されることがほぼ確実なので、 危険性が非常に低いことが分かっている今回のような問題については (将来の量子コンピューターだものね)、 ジタバタしないでいる方が良いのかもしれない、と一瞬考えたが、 Apple が古めかしい設定を残していたわけで、 悩ましいところではある。
| 暫定的なまとめ for Mac | |
|
(2026/2/15 追記) さくらのレンタルサーバー (これは多分 FreeBSD で Mac ではない) が mlkem768x25519-sha256, sntrup761x25519-sha512@openssh.com に対応していなかった。 これもクライアント側で
| ~/.ssh/config |
Host さくらのサーバー KexAlgorithms curve25519-sha256 |