我无法使用公钥登录我的服务器。
服务器详细信息:
- 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 很新,刚刚升级到最新的内核和软件包。
谁知道我该如何克服这种情况?
答案1
实际上,增加日志级别并没有显示任何相关内容。
看起来客户端只是跳过了下一个可能的密钥(DSA),而我还没有得到它,然后该方法被放弃并且要求输入密码。
我的客户端是14.04LTS,服务器是16.04LTS。
密钥很久以前就生成了(当我安装 14.04LTS 时)。
解决方案是在客户端重新生成 RSA 密钥,现在一切正常。不知何故,16.04LTS 不向后兼容很久以前生成的密钥。