我正在尝试使用
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来终止。
Ssh正确地抱怨他们不能确定你确实通过安全通道连接到github的服务器。 这可能是为什么Github建议https访问,它的公共密钥基础设施,它的开箱即用。
现在,你可以让它工作,但是请注意,它涉及缓存一个公钥指纹,如果不正确的话,这个公钥指纹会给攻击者提供永久性的中间人(man-in-the-middle)攻击。
选项1是使用https url而不是ssh。
选项2有ssh访问工作。
做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。