我无法使用公钥登录我的服务器。
服务器详情:
- Ubuntu 服务器 16.04LTS
- SSHd:OpenSSH_7.2p2 Ubuntu-4ubuntu2.4,OpenSSL 1.0.2g 2016 年 3 月 1 日
我的公钥已添加到 /home/user/.ssh/authorized_keys,但当我尝试连接时,公钥身份验证方法被丢弃。
/var/log/auth.log 中只有一行对应:
sshd[3830]: error: key_verify: error in libcrypto
服务器上的 Ubuntu 是新鲜的,刚刚升级到最新的内核和软件包。
有人知道我该如何克服这种情况吗?
实际上,增加日志级别并没有显示任何相关内容。
似乎客户端只是跳过了我没有得到的下一个可能的密钥(DSA),然后该方法被丢弃并询问了密码。
我的客户端是 14.04LTS,服务器是 16.04LTS。
密钥是很久以前生成的(当我安装 14.04LTS 时)。
解决方案是在客户端上重新生成 RSA 密钥,现在它可以按预期工作。不知何故,16.04LTS 与很久以前生成的密钥不向后兼容。