无法建立主机'github.com(192.30.252.128)'的真实性

时间:2013-09-10 03:07:08

标签: node.js ubuntu

我正在尝试使用

sudo npm install

为在nodejs中编写的应用程序安装所有依赖项。我的操作系统是Ubuntu 13.04

但是,我一直收到这个警告:

The authenticity of host 'github.com (192.30.252.131)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:1d:52:13:1a:21:2d:bz:1d:66:a8.
Are you sure you want to continue connecting (yes/no)?

之前有人遇到过此警告吗?是否可以在本地验证和存储指纹?所以当我再次输入sudo npm install时,我不需要再次进行身份验证。

现在,我无法输入任何内容,甚至“是”。我的终端卡住了,我必须按ctrl + c才能终止。

9 个答案:

答案 0 :(得分:27)

危险未来,除非您实际上不关心与本地帐户的github进行安全通信

Ssh正确地抱怨他们无法确保您确实通过安全通道连接到github的服务器。这可能就是github推荐https访问的原因,这要归功于其公钥基础设施的开箱即用。

现在,您可以使用它,但要注意它涉及缓存公钥指纹,如果操作不正确,会为攻击者提供永久性的中间人攻击。

如何安全地进行?

选项1是使用https url而不是ssh。

选项2具有ssh访问权限。

好的,给我看选项2

执行ssh github.com但不要只输入“是”。检查显示的哈希值是否与https://help.github.com/articles/what-are-github-s-ssh-key-fingerprints/中显示的哈希值之一匹配(在您的问题中确实如此,并且看,由于相同的公钥基础结构原因,页面是通过https获取的)。

如果哈希匹配,那么连接确实是安全的,你可以对ssh的问题回答“是”。

好的,我检查并输入是,我怎么知道它有效?

Ssh会显示如下内容:

  

警告:永久添加了IP地址的RSA主机密钥   '192.30.252.128'到已知主机列表。

之后,您将看到类似

的消息
  

许可被拒绝(公钥)。

这很好,但表明您需要进一步配置,或者只是

  

您好 yourlogin !您已成功通过身份验证,但GitHub没有   提供shell访问。

这意味着一切正常,您可以重试第一次操作。

请注意,如果您重试相同的ssh命令,它将不再提出问题。

答案 1 :(得分:17)

在命令提示符下运行ssh -o StrictHostKeyChecking=no git@github.com以向authentic_hosts添加真实性。那么下次你就不会得到提示。

答案 2 :(得分:2)

Github刚刚更改了他们的IP地址基础设施。您可以在此处阅读更多详细信息https://github.com/blog/1606-ip-address-changes。此外,我以前从未见过这样的问题。你的package.json是否包含通过ssh克隆的git依赖?

尝试回音'是'| sudo npm install 。这可以解决您的问题。如果没有,请尝试通过HTTPS进行克隆,或者将模块下载为tarball,这可以像https://api.github.com/repos/ 用户名 / 重新命名一样完成 /压缩包

答案 3 :(得分:2)

你确定你不是以不同的用户身份不小心登录的(当我以root身份sudo -s / login并忘记我的GitHub帐户没有链接到该用户时,就会发生这种情况。)

答案 4 :(得分:0)

我登陆这里是因为我得到了这个错误并且不明白为什么。原来我的npm命令中有错字:

npm install -P -E @angular/common @angular/compiler @angular/core @angular/forms 
@angular/platform-browser @angular/router @angular/animations@ angular/platform-browser-dynamic

请注意行尾如何读取@angular/animations@ angular/platform-browser-dynamic

NPM将最后一个“软件包”解释为github存储库,这就是错误的出处。

我知道这不是实际上的问题,但是我提出来是为了防止其他人因类似的错误而遇到此问题。

答案 5 :(得分:0)

如果您有这种类型的问题

The authenticity of host 'github.com (192.30.252.131)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:1d:52:13:1a:21:2d:bz:1d:66:a8.
Are you sure you want to continue connecting (yes/no)?

别担心,请按照以下步骤操作:

第 1 步:yes [press enter]

然后你会得到:

Please type 'yes', 'no' or the fingerprint:

第 2 步:copy fingerprint and paste here [press enter ]

答案 6 :(得分:0)

我使用的是 npm ci,但 package-lock.json 文件有很多 git+ssh:// 网址,这些网址触发了此错误消息。

抨击这里接受的答案,我使用了一个小 sed 脚本将所有 ssh:// URL 替换为 https:// URL:

sed -i 's|git+ssh://git@github.com|https://github.com|' ./package-lock.json

我希望这可以帮助一些处于类似情况的人。

这是一个快速的解决方法。更持久的解决方案是修复 package.json 文件中的 URL,以构建改进的 package-lock.json 文件。

答案 7 :(得分:-2)

运行ssh github.com并输入yes,它应该会失败。然后再次运行您的命令。如果没有再次尝试ssh github.com,因为它们有多个IP,您可能需要所有这些IP。

答案 8 :(得分:-2)

我遇到同样的问题,您只需将SSH密钥添加到ssh-agent,请看这个链接:

  

https://help.github.com/articles/checking-for-existing-ssh-keys/

它与我合作。