ssh时提示:Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

这篇具有很好参考价值的文章主要介绍了ssh时提示:Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、报错现象:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:bMb6rXY0m8C4h48ZogygNSmw85Dg6Z3SZWVpmyUWyag.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:47
Password authentication is disabled to avoid man-in-the-middle attacks.
Keyboard-interactive authentication is disabled to avoid man-in-the-middle attacks.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
二、SSH原理

SSH或Secure Shell,是一种通常通过命令行安全访问远程计算机的非常常用的方法。它旨在确保连接以及所有传递的数据都不会被窃听。为了达到这个目的,常见的SSH客户端(例如OpenSSH)内置了许多检查,以确保我们发起的连接的安全性不会受到损害。
这个问题是当我们通过SSH连接到服务器时,ssh将获得ECDSA密钥的指纹,然后将其保存到〜/ .ssh / known_hosts下的主目录中。这是在首次连接到服务器后完成的,并且将通过以下消息作出提示:

$ ssh ec2-user@ec2-xxx-xxx-1-1.compute-1.amazonaws.com
The authenticity of host 'ec2-xxx-xxx-1-1.compute-1.amazonaws.com (xxx.xxx.1.1)' can't be established.
ECDSA key fingerprint is SHA256:hotsxb/qVi1/ycUU2wXF6mfGH++Yk7WYZv0r+tIhg4I.
Are you sure you want to continue connecting (yes/no)? 

如果我们这时候输入“yes”,指纹将会保存到known_hosts文件,之后每次连接到该服务器时,SSH都会查询该文件
但是,如果自上次连接服务器以来,服务器的ECDSA密钥被更改了,会发生什么情况呢?服务器密钥发生变化是一种值得警惕的事件,因为这实际上可能意味着我们在不知情下正在连接到另一台服务器。如果这台新服务器是恶意的,则它将能够查看所有连接中发送和收到的的数据,任何拥有这台服务器的人都可以看到这些数据。这很可能是一种中间人攻击。因此ssh就会提示出上面的那个警告,告诉我们服务器的密钥与之前储存的不同。
当然,出现这个情况并非一定意味着我们被黑客攻击了,ECDSA密钥指纹更改服务器的原因很多。就我自己的经历而言,我在AWS上有一个弹性IP地址,并在重新部署我们的应用程序后将其分配给其他服务器。我连接到的IP地址和主机名相同,但是底层服务器不同,这也使得SSH客户端发出这个警告。

三、解决问题

在ssh主机的/root/.ssh/known_hosts文件里卖弄的记录删除掉或者注释掉就可以ssh连接到其他主机了。

1、进入known_hosts文件手动删除记录

在警告消息中,我们可以找到被修改过的ECDSA密钥在known_hosts文件中的位置的行。在我的示例中,该行表示“Offending ECDSA key in /Users/scott/.ssh/known_hosts:47”,即在第47行。 我们只需要打开警告消息中指定的known_hosts文件, 删除警告消息中指定的行即可。 通过删除这一行,本地的SSH客户端将不再有可比较的ECDSA密钥指纹,因此将在下次连接时再次要求您验证服务器的真实性,即相当于第一次链接。完成后,您将在此服务器的known_hosts文件中拥有一个新指纹,即服务器的当前指纹。
ssh时提示:Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).,ssh,服务器,运维
ssh时提示:Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).,ssh,服务器,运维

2、进行注释掉也行

ssh时提示:Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).,ssh,服务器,运维
ssh时提示:Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).,ssh,服务器,运维

3、使用ssh-keygen解决

另一种解决方案是使用ssh-keygen从known_hosts文件中删除有问题的密钥,这可以通过以下命令完成:文章来源地址https://www.toymoban.com/news/detail-526774.html

ssh-keygen -R [hostname-or-IP]

到了这里,关于ssh时提示:Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SSH解决Permission denied (publickey).

    在本地windows使用ssh远程连接服务器时我遇到了permissi denied(publickey)的error,从csdn博客:解决Permission denied (publickey).我受到了启发。 在上述博客中提到了服务器公钥文件夹权限错误的问题,可以使用如下指令进行更改:  受到里面的your_group的启发,我不禁好奇我的group跟服务器

    2024年02月12日
    浏览(48)
  • SSH 登陆失败 Permission denied (publickey) 排错

    在阿里云上有一台Ubuntu 18.04 版本的服务器,今天使用 ssh 登陆时报错 “ Permission denied (publickey) ”; 登陆的客户端机器是新安装的 Ubuntu 22.04 机器; 为了安全,登陆方式一直使用的本地私钥登陆; 后续说明中,使用的假设条件 客户端机器上的用户是 foo 服务器端的帐户是 b

    2024年02月10日
    浏览(41)
  • Git/Gerrit 提示”Permission denied (publickey).)“

    Git/Gerrit项目已经开通权限,ssh-keygen也生成并配置了,但还是不能正常使用,提示” Permission denied (publickey).“ 由于OpenSSH从8.8版本由于安全原因开始弃用了rsa加密的密钥,因为OpenSSH认为rsa破解成本已经低于5万美元,所以觉得成本太小了,有风险就给禁用了。 通过命令:ssh

    2024年02月07日
    浏览(49)
  • github提示Permission denied (publickey),如何才能解决

    当GitHub提示“Permission denied (publickey)”错误,这通常意味着您的SSH密钥没有被正确地配置。以下是一些常见的解决步骤,帮助您诊断和解决该问题: 检查是否已设置SSH密钥 : 运行以下命令检查是否存在SSH密钥: bashCopy code ls -al ~/.ssh 这将列出 .ssh 目录下的所有文件。您应该看

    2024年02月03日
    浏览(58)
  • ubuntu-2204 gerrit ssh 报错Permission denied (publickey).分析及解决

    ubuntu-2204 gerrit ssh 报错Permission denied (publickey).分析及解决 使用 repo init/sync 下载代码时遇到报错: Permission denied (publickey). 以下 user 及 10.100.1.115 为化名 $ ssh -p 29418 user@10.100.1.115 查看详细信息 $ ssh -vv -p 29418 user@10.100.1.115 通过以上详细信息可以看到以下几个关键点 OpenSSH版本为

    2024年02月09日
    浏览(82)
  • 【Git】解决 git pull 提示 Permission denied (publickey) 的问题

    在使用 ssh-keygen 创建 github 秘钥时没有使用默认文件,而是自定义了 xxx.github 的秘钥文件,然后将公钥添加到 github 上。之后发现每次 Mac 开机后使用 git pull 拉取代码时都会提示 Permission denied (publickey) 的问题,如下: 我的 Mac 电脑型号:macOS 13.2.1 。 问题的原因是没有将私钥添

    2024年02月10日
    浏览(52)
  • SSH访问报错:ssh_exchange_identification: read: Connection reset by peer、Permission denied (publickey,key

    ssh_exchange_identification: read: Connection reset by peer 原因: 一般是因为源地址限制导致的 Permission denied (publickey,keyboard-interactive,hostbased). 原因: 客户端和服务端认证方法不匹配,最后定位因为是server端使用了keyboard-interactive认证方法,而客户端只有password,publickey。 解决: 修改ser

    2024年02月02日
    浏览(58)
  • 终极办法!connect to host port 22: Connection timed out git@ssh.github.com: Permission denied (publickey

    过了个周末git突然用不了了,在拉代码的时候突然报错连接超时,又报错说没有权限,这就很烦了 在百度了很久以后尝试了各种办法,重新生成pub_key,重装git等等都没能解决,最后询问了公司大佬,困扰了一个上午的问题终于解决了 先说说百度上的解决办法: 使用命令 s

    2024年02月04日
    浏览(52)
  • 解决windows11下SSH不能连接远端服务器-Permission denied (publickey)-Permissions for ‘xxx‘ are too open-管道不存在等问题

    按照下面的步骤做一遍。我也搞不清哪些解决方式和哪些问题对应,多试一试就好了。 HostName和User换成对应的名字。 IdentityFile换成对应的密匙文件。 在搜索栏搜索服务: 确认电脑上有这两个服务: 状态和我上面设置的一样。(记得更改运行状态。我设置成正在启动/自动延

    2024年02月04日
    浏览(79)
  • 【linux】解决Git错误Permission denied(publickey)

    上次租的腾讯云服务器,服务区是在新加坡,不论git clone还是下载文件,从来都没有问题。这次租的服务区选在了广州,出现各种问题,就这事,得到的教训,租服务器最好还是租境外地区的比较好,毕竟工欲善其事必先利其器。 在git 克隆项目时,出现Permission denied(publi

    2024年02月08日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包