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

我正在尝试使用

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)? 

有没有人遇到过这个警告? 是否可以在本地validation和存储指纹? 所以当我再次inputsudo npm install的时候我不需要重新validation。

现在,我无法input任何东西,甚至没有“是”。 我的terminal卡住了,我必须按ctrl + c来终止。

前面的危险,除非你真的不关心你的本地帐户与github的安全通信

Ssh正确地抱怨他们不能确定你确实通过安全通道连接到github的服务器。 这可能是为什么Github建议https访问,它的公共密钥基础设施,它的开箱即用。

现在,你可以让它工作,但是请注意,它涉及缓存一个公钥指纹,如果不正确的话,这个公钥指纹会给攻击者提供永久性的中间人(man-in-the-middle)攻击。

如何安全地进行?

选项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地址“192.30.252.128”的RSA主机密钥永久添加到已知主机列表中。

之后,你会看到类似的消息

权限被拒绝(publickey)。

这很好,但是显示你需要进一步的配置,或者干脆

你好,你好! 您已成功通过身份验证,但GitHub不提供shell访问权限。

这意味着一切正常,你可以重试你的第一个操作。

注意,如果你重试同样的ssh命令,它不应该再问这个问题。

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

Github只是改变了他们的IP地址基础设施。 你可以在这里阅读更多的细节https://github.com/blog/1606-ip-address-changes 。 另外,我从来没有见过这样的问题。 你的package.json是否包含通过ssh克隆的git depency?

尝试echo“是”| sudo npm安装 。 这可能会解决你的问题。 如果不是,请尝试通过HTTPS进行克隆,或者将其作为tarball下载,可以这样做https://api.github.com/repos/ username / reponame / tarball

你确定你不是不小心登录为一个不同的用户(我发生这种情况时,我sudo-s /登录为根,忘记我的GitHub帐户没有链接到该用户)。

我有同样的问题,你只需要添加你的SSH密钥的SSH代理,请参阅此链接:

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

它与我合作。

运行ssh github.com并输入yes,它会失败。 然后再次运行你的命令。 如果不是再次尝试ssh github.com ,因为他们有多个IP,你可能需要所有的IP。