当前位置:   article > 正文

ssh连接服务器时出现Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

前言

  • SSH工具连接服务器的身份验证方式有两种,一种是基于口令的身份验证,一种是基于密钥的身份认证。当你直接使用SSH工具连接服务器时,SSH首先会在~/.ssh/路径下按照默认的密钥(私钥)文件名(如id_rsa)查找对应的密钥并尝试使用本地的私钥去配对服务器端的公钥,如果配对成功则不需要进行密码验证(这也是通常实现SSH免密登录的原理),如果配对失败则尝试使用密码验证的方式进行身份验证。但是如果ssh配置文件中关闭了密码验证,那么当密钥无法配对成功时,就会报如题的错误。同样的如果在没有开启密码验证的时候,尝试使用ssh-copy-id,也会报此错误。

解决方案

1)使用对应私钥连接服务端

命令格式如下:

ssh <remote_username>@<remote_ip> -i <your_local_private_key>
  • 1

示例:

ssh admin@114.67.40.28 -i /home/tomandersen/id_rsa
  • 1

注意:如果是在Windows平台下使用Git Bash,则默认密钥(私钥)一般存放在C:\Users\<your_account>\.ssh目录下。如果没有对应私钥是没有办法连接到远端的。

2)修改SSH配置文件

修改/etc/ssh/sshd_config:

sudo vim /etc/ssh/sshd_config
  • 1

将PasswordAuthentication设置成为yes(一般在文件的末尾几行):

#	X11Forwarding no
#	AllowTcpForwarding no
#	PermitTTY no
#	ForceCommand cvs server
UseDNS no
AddressFamily inet
PermitRootLogin yes
SyslogFacility AUTHPRIV
#PasswordAuthentication no
PasswordAuthentication yes
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

注意:不是修改/etc/ssh/ssh_config文件

3)使用密码登录

修改配置之后就可以正常使用密码的方式进行身份验证登录服务器了


End~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/187670
推荐阅读
相关标签
  

闽ICP备14008679号