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

15 篇文章 0 订阅
4 篇文章 0 订阅

前言

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

解决方案

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

命令格式如下:

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

示例:

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

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

2)修改SSH配置文件

修改/etc/ssh/sshd_config:

sudo vim /etc/ssh/sshd_config

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

#	X11Forwarding no
#	AllowTcpForwarding no
#	PermitTTY no
#	ForceCommand cvs server
UseDNS no
AddressFamily inet
PermitRootLogin yes
SyslogFacility AUTHPRIV
#PasswordAuthentication no
PasswordAuthentication yes

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

3)使用密码登录

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


End~

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值