首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法"git拉“-主机密钥验证失败

无法"git拉“-主机密钥验证失败
EN

Stack Overflow用户
提问于 2014-01-13 09:29:21
回答 4查看 24.1K关注 0票数 22

我有对生产服务器的根访问权,我想将git中的最新版本部署到服务器上,但是当我想要更新的文件夹上"git拉“时,我遇到了下面的错误。

我已经浏览了一下,但是找不到一个明确的答案。

暂存服务器运行在同一台机器上,但只运行在不同的文件夹中,当我在该文件夹上运行pull时,一切都正常。

对于Linux,我不是很有经验,所以请帮助我清楚地回答如何修复:-)

否则我就能得到任何我需要的东西

附注:这在过去起了作用,所以我假设它与SSH密钥有关

错误:

代码语言:javascript
复制
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@       WARNING: POSSIBLE DNS SPOOFING DETECTED!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The ECDSA host key for www.site.org has changed,
and the key for the corresponding IP address x.x.x.x
is unknown. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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
*************
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:1
  remove with: ssh-keygen -f "/root/.ssh/known_hosts" -R gitlab.site.org
ECDSA host key for gitlab.site.org has changed and you have requested strict checking.
Host key verification failed.
EN

回答 4

Stack Overflow用户

发布于 2015-07-12 17:06:30

窗口:

  1. 转到/Users/Abhilash/.ssh/known_hosts并删除其中的内容并保存。

Linux / Mac:

  1. 转到~/.ssh/
  2. 纳米known_hosts
  3. 删除内容并保存ctrl+O

注意:,您将被催促保存密钥,同时再次按下。

票数 22
EN

Stack Overflow用户

发布于 2018-09-19 10:29:53

在遵循这些步骤之后,我也面临着同样的问题。

对于macOS:

代码语言:javascript
复制
Step 1: Go to Folder or use command+shift+g
Step 2: type "~/.ssh/"
Step 3: Open "known_hosts" file and Remove all the content
Step 4: Now Open terminal and pull from another branch, It will ask for password give your system password.

它一定会起作用的。

票数 1
EN

Stack Overflow用户

发布于 2021-05-11 04:16:55

所有其他答案都会带来安全风险。

出现此错误是因为您的known_hosts文件中有一条记录,其中规定服务器应该有一个特定的ssh键。但是,当您尝试连接时,服务器已经发送了一个不同的ssh密钥,与您的known_hosts文件中的键不匹配。您的错误信息是:

代码语言:javascript
复制
Offending ECDSA key in /root/.ssh/known_hosts:1

这意味着known_hosts文件中的第一行与远程服务器发送的内容不同。

解决该问题的安全方法如下:

  1. 找出正确的关键指纹应该是从一个可靠的来源。在这里,您可以找到GitHubGitLab的正确指纹。(如果您的组织自我宿主GitLab,则需要与管理员交谈以获取ssh密钥指纹。)
  2. 检查文件中现有指纹是否正确。 您可以运行ssh-keygen -lf ~/.ssh/known_hosts (在您的情况下是/root/.ssh/known_hosts ),从known_hosts文件中生成SHA256指纹。您的错误消息说,问题在于第一个键。在GitHub或GitLab上找到等效的GitHub或GitLab指纹,并检查它是否完全匹配。 下面是上面命令的输出:256个SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw gitlab.com (ECDSA) 这是来自SHA256 GitLab网站的ECDSA HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw指纹
  3. 如果来自known_hosts的现有指纹与GitHubGitLab网站的官方指纹相匹配,那么ssh就检测到了中间人(MitM)的攻击。,停止。不要连接到服务器。尝试从不同的互联网连接连接。和你的管理员谈谈。
  4. 如果known_hosts中的现有指纹与官方指纹不匹配,那么您以前受到了MitM攻击,或者承载GitLab的服务器更改了ssh密钥。您可以从known_hosts文件中删除指纹。(Note:只删除造成麻烦的特定指纹。)下次连接到GitLab时,系统会提示您将新指纹添加到known_hosts文件中。寄主gitlab.com(172.65.251.78)的真实性无法确定。ECDSA密钥指纹为SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw.您确定要继续连接(是/否/指纹)吗? 重复检查指纹是否与GitHubGitLab网站显示的指纹匹配,然后键入相应的yesno
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21087695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档