OpenSSHの警告「** WARNING: connection is not using a post-quantum key exchange algorithm. 」を消す方法

最近のOpenSSHは「量子コンピュータでも破られにくい暗号(ポスト量子暗号)」を使うことを推奨しています.

OpenSSH 10.1では,サーバー側の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

これは今すぐ危険という意味ではありません.「store now, decrypt later攻撃」つまり誰かが通信パケットを今のうちに保存しておくと,将来量子コンピュータが普及したときに解読できちゃうね,という警告です.

警告を非表示にする方法

~/.ssh/config に以下を追加すると警告を非表示にできます

Host ホスト名
    WarnWeakCrypto no

コマンドラインで指定する場合は次のようにします

ssh -o WarnWeakCrypto=no  ....

ポスト量子暗号について

現時点で量子コンピュータは実用化されたとは言い難いレベルです.

量子コンピュータを使えば攻撃可能という主張は理論的には正しいですが,実務上は無視して良い話です.多くの場合,警告を無視しても大きな問題にはなりません.

一方で長期保存が必要なデータ,法令・規約など強い制限がある案件では,サーバー側のsshを更新して今すぐポスト量子暗号に切り替えるべきでしょう.

つまり以下の設定で,すべてのサーバーに対して警告をOFFにする設定は好ましくありません.

Host *
    WarnWeakCrypto no


警告を無視しても問題無いホスト(hostname1, hostname2, hostname3)を列挙して

Host hostname1 hostname2 hostname3
    WarnWeakCrypto no

と設定したほうが安全でしょう.