最近执行 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
-> % ssh -V
OpenSSH_9.6p1 Ubuntu-3ubuntu13.14, OpenSSL 3.0.13 30 Jan 2024
原因
OpenSSH 9.5+ 客户端支持后量子密钥交换算法(如 sntrup761x25519-sha512),但远程服务器尚未支持,连接回退到传统算法,因此发出警告。
传统加密(RSA、ECC)依赖经典计算机难解的数学问题;量子计算机成熟后可能破解。攻击者可先截获并保存加密流量,待日后解密(store now, decrypt later)。
当前连接仍安全,警告针对的是未来风险,并非已被破解。
处理办法
如果不想忽略这个提示,有两个处理办法:
- 升级服务端 OpenSSH,启用后量子算法。
- 可以通过在
~/.ssh/config中设置WarnWeakCrypto no-pq-kex来消除提示。
附:我的 SSH 默认配置
Host * # 匹配所有主机,作为默认配置
User root # 默认使用 root 用户登录
IdentityFile ~/.ssh/id_ed25519 # 默认使用该私钥进行公钥认证
GSSAPIAuthentication no # 禁用 GSSAPI/Kerberos 认证,加快连接速度
ServerAliveInterval 60 # 每 60 秒向服务端发送保活包,防止连接被断开
ControlMaster auto # 启用 SSH 连接复用,第一个连接作为主连接
ControlPath /tmp/ssh-%r@%h:%p # 复用连接的 Unix Socket 文件路径
ControlPersist 24h # 主连接关闭后继续保留 24 小时供后续复用
HostkeyAlgorithms +ssh-rsa # 允许使用旧版 ssh-rsa 主机密钥算法
PubkeyAcceptedAlgorithms +ssh-rsa # 允许使用 ssh-rsa 用户公钥认证
WarnWeakCrypto no-pq-kex # 不提示“未使用抗量子密钥交换算法”警告