今天,在 Debian Stretch 中进行更新后,当ssh
使用我当前的配置重新启动服务时,它开始显示这些警告:
/etc/ssh/sshd_config line 17: Deprecated option KeyRegenerationInterval
/etc/ssh/sshd_config line 18: Deprecated option ServerKeyBits
/etc/ssh/sshd_config line 29: Deprecated option RSAAuthentication
/etc/ssh/sshd_config line 36: Deprecated option RhostsRSAAuthentication
[....] Restarting OpenBSD Secure Shell server: sshd
/etc/ssh/sshd_config line 17: Deprecated option KeyRegenerationInterval
/etc/ssh/sshd_config line 18: Deprecated option ServerKeyBits
/etc/ssh/sshd_config line 29: Deprecated option RSAAuthentication
/etc/ssh/sshd_config line 36: Deprecated option RhostsRSAAuthentication
这里发生了什么?
将 Debian 9 与 OpenSSH 7.4 结合使用
答案1
在当前的 Stretch 更新中,openssh
版本从 7.3 更改为 7.4,于 2016 年 12 月 19 日发布。
从发行说明和@Jakuje 评论中可以推断,OpenSSH 维护者已经永久删除了相应的配置选项,因为它们已经过时了。
因此可以安全地移除线路。
另外,取头:
未来弃用通知
我们计划在未来的版本中淘汰更多遗留加密技术,具体来说:
大约在 2017 年 8 月,删除了对
SSH v.1 协议的剩余支持(仅限客户端且当前编译时禁用)。在同一版本中,删除了对 Blowfish 和 RC4 密码以及 RIPE-MD160 HMAC 的支持。 (这些目前在运行时被禁用)。
拒绝所有小于 1024 位的 RSA 密钥(当前最小值
为 768 位)OpenSSH 的下一个版本将删除对运行 sshd(8) 的支持并禁用权限分离。
便携式 OpenSSH 的下一个版本将删除对
1.0.1 之前的 OpenSSL 版本的支持。
答案2
您可以使用以下命令删除已弃用的配置行:
sed -i '/KeyRegenerationInterval/d' /etc/ssh/sshd_config
sed -i '/ServerKeyBits/d' /etc/ssh/sshd_config
sed -i '/RSAAuthentication/d' /etc/ssh/sshd_config
sed -i '/RhostsRSAAuthentication/d' /etc/ssh/sshd_config
sed -i '/UsePrivilegeSeparation/d' /etc/ssh/sshd_config
并重新启动 SSH 守护进程:systemctl restart sshd