概要:
sshd_config里的PasswordAuthentication yes就行,不用改,不影响无密码登录
直接ssh-copy-id -i ./id_rsa.pub username@hostaddress -p 端口号重新安装公钥即可
原理:
至少在我的情况下,与 /etc/ssh/sshd_config 中的 PasswordAuthentication yes参数无关,yes没有问题(因为我只是用ubuntu去ssh连接服务器报错,但是在windows用xshell则没有问题),至于权限也是对的,那为什么会报错呢?
想到xshell可以无密码登录,ubuntu就不行,于是想到之前是在windows用xshell导出了公钥到txt并通过xshell直接复制内容到服务器的authorized_keys,会不会是这个问题导致的?那我使用传统的方法重新安装公钥:
ssh-copy-id -i ./id_rsa.pub username@hostaddress -p 端口号
居然连上了?!
接下来我查看服务器的authrized_keys,并未发现异常,只不过经过一次用xshell直接复制的和一次ssh-copy-id安装的过程导致同一个客户机公钥有两个,占用了两行,我在vim进行了一个无关紧要的操作:set nu,结果一设置行号,居然发现之前手动复制进去的客户端公钥包含空格键?i进入编辑模式,删除空格键,也删除ssh-copy-id安装的末尾的公钥,尝试能否登录,果然可以登陆了,强迫症的我还是将其删除,然后重新用传统的方法ssh-copy-id重新安装了一遍,至此问题解决。



