SSH向服务端分发秘钥时出现错误“Permission denied (publickey)”
今天,在虚拟机上做Rsync数据同步实验,两台实验主机互相通过密钥无密码登录,但是在其中一台主机上生成密钥文件后,向另一台主机分发公钥文件时出现权限不允许的错误,特来记录下问题的根源及解决过程:
[root@video ~]# ssh-keygen -t rsa -b 2048
[root@localhost ~]# ssh-copy-id root@192.168.101.10
于是查看另一台主机的root用户家目录下的.ssh目录及目录下authorized_keys文件的权限和属主属组都正常:
然后通过网上网友提供的解决方案,在另一台主机的sshd服务器端配置文件/etc/ssh/sshd_config中进行RSAAuthentication、PubkeyAuthentication AuthorizedKeysFile .ssh/authorized_keys三个选项进行去除注释,重启sshd服务器,测试还是没有解决问题。于是经过一番折腾,在服务端sshd_config配置文件中,将其中这两项PubkeyAuthentication yes和PasswordAuthentication no的值都要为yes,即公钥认证和密码认证都要为yes,因为连接的方式是通过这两种方式来连接的,但是修改后,重启sshd服务,问题依然没有解决,于是将主机的/root/.ssh/known_hosts文件内容清空,再次向服务端密钥分发就成功了。
留言评论