ssh分发秘钥时出现错误“Permission denied (publickey,gssapi-keyex,gssapi-with-mic)”
因为公司的服务器连接是通过xshell公钥和密码连接的,今天在ssh分发秘钥的时候出现了,下面的错误:
[root@iZ2ze97cumk8opqm28h8Z .ssh]# ssh-copy-id -i /root/.ssh/id_dsa.pub "root@123.56.82.168 -p 52808" Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
于是上网上搜索,网上其他人提供的解决方案为:
(1)创建用户: ansible
(2)修改sshd_config文件
# vi /etc/ssh/sshd_config //开启以下内容
HostKey /etc/ssh/ssh_host_rsa_key
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# /etc/init.d/sshd restart
(3)权限设置
# mkdir /home/ansible/.ssh
# chown -R ansible:ansible /home/ansible
# chmod 700 /home/ansible
# chmod 700 /home/ansible/.ssh
# chmod 644 /home/ansible/.ssh/authorized_keys //公钥文件的所有权限
# chmod 600 /home/ansible/.ssh/id_rsa //私钥文件的所有权限
### 可以测试远程连接了……
但是经过的我的测试还是不行,于是经过一番排查,得出来结果
其中这两项PubkeyAuthentication yes 和PasswordAuthentication no的值都要为yes,即公钥认证和密码认证都要为yes,因为我连接的方式是通过这两种方式来连接的,
[root@iZ2ze97cgcumk8opq8h8Z .ssh]# egrep "PubkeyAuthentication" /etc/ssh/sshd_config #PubkeyAuthentication yes PubkeyAuthentication yes [root@iZ2ze97cgcuopqm28h8Z .ssh]# egrep "PasswordAuthentication" /etc/ssh/sshd_config PasswordAuthentication no
于是将PasswordAuthentication的no替换为yes,结果没有出现那个错误了。但是密码好像不对。额。
[root@iZ2ze97cgcumopqm28h8Z .ssh]# ssh-copy-id -i /root/.ssh/id_dsa.pub "root@123.56.82.168 -p 52808" root@123.56.82.168's password: Permission denied, please try again. root@123.56.82.168's password: Permission denied, please try again. root@123.56.82.168's password:
结果:清空/root/.ssh/目录下的known_hosts下即可。
您的资助是我最大的动力!
金额随意,欢迎来赏!