我有一台 Ubuntu 18.04 LTS 服务器,我通常通过 Windows 10 Pro (1903) 上的 Putty 连接它,没有任何问题。最近我收到 Putty 的警告:“服务器支持的第一个密钥交换算法是diffie-hellman-group1-sha1,低于配置的警告阈值。”
我最初只是尝试继续,但令我惊讶的是,我得到了一个拒绝访问当我输入密码时。
现在我了解到这个 kex 被认为是遗留的或薄弱的/不安全的。我想知道我的服务器上发生了哪些变化/可能发生了哪些变化以触发此问题,因为我可以在没有此警告的情况下进行连接?
我可以做什么(如果有的话)来将我的服务器重置为出现此问题之前使用的状态?我已经尝试重新安装openssh-服务器和客户毫无效果。我尝试添加Kex算法行中/etc/ssh/sshd_config文件,但这会导致 ssh 无法启动。
我知道我可以将 kex 移到 Putty 中的警告线上方以使警告消失,但我不想这样做,就像我上面提到的那样,即使没有警告,我也会收到拒绝访问在登录时。
答案1
老实说,这听起来像是 PuTTY 中发生了一些变化(升级或其他)。
PuTTY 警告服务器提供的密钥交换方法较弱。由于客户端会选择其支持的最高级别方法,因此我并不认为这有什么危险。
您的访问可能会被拒绝,因为 PuTTY 正在中止密钥交换过程,并且服务器不允许您使用密码登录。
我建议完全放弃 PuTTY,并在笔记本电脑的 WSL 下安装 Ubuntu。然后,您将拥有一个功能齐全的 OpenSSH 客户端。然后,您可以使用 -vvvv 执行 ssh,并准确查看正在协商/交换的内容。
编辑:您可能需要验证的一件事是,您是否真的连接到了正确的 IP 地址?或者其他设备没有使用与 Ubuntu 服务器相同的 IP。根据进一步的研究,自 16.04 以来,Ubuntu 服务器不应提供该选项。