在 Ubuntu 16.04.4 中使用公钥进行 ssh 登录停止工作

在 Ubuntu 16.04.4 中使用公钥进行 ssh 登录停止工作

我有两台服务器,其中一台运行 Ubuntu 14,另一台运行 16.04.4。我尝试以普通用户身份(而不是 root 用户)通过 ssh(Windows、Putty + Pageant)登录。两台机器上的 /etc/ssh/sshd_config 文件以及 ~/.ssh/authorized_keys 及其权限(~/.ssh 为 700,~/.ssh/authorized_keys 为 600)都相同。密码授权工作正常。

登录 Ubuntu 14 一切正常,但登录 Ubuntu 16 却不行。这个问题可能是什么原因造成的?Ubuntu 16 中的策略是否发生了变化?

答案1

我今天遇到了类似的问题——多年来一直使用 Windows、Putty 和 Pageant 自动登录我的 Ubuntu 14.04 服务器。但是当我升级到 Ubuntu 18.04 时,它停止工作了。

检查 /var/log/auth.log,我发现以下错误:

sshd[30093]: userauth_pubkey: key type ssh-dss not in PubkeyAcceptedKeyTypes [preauth]

通过谷歌搜索该错误信息,我找到了此网站上的修复方法:http://asystemengineersnotebook.blogspot.com/2017/09/fixing-key-type-ssh-dss-not-in.html

解决此问题的方法是添加以下行 /etc/ssh/sshd_config 文件并重新启动 ssh 服务:

PubkeyAcceptedKeyTypes=+ssh-dss

这解决了我的问题。

相关内容