当前位置: 首页>>技术问答>>正文


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

,

问题描述

我正在尝试使用

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时,我不需要再次进行身份验证。

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

最佳解决方法

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

Ssh正确地抱怨他们无法确保你确实通过安全通道连接到github的服务器。这可能就是为什么github推荐使用https访问权限,因为它的公钥基础设施可以使用out-of-the-box。

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

如何安全地进行?

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

选项2具有ssh访问工作。

好的,给我看选项2

ssh github.com但不要只输入”yes”。检查显示的散列是否与https://help.github.com/articles/what-are-github-s-ssh-key-fingerprints/中显示的散列之一相匹配(在您的问题中,并且请参阅,出于相同的公钥基础结构原因,页面是通过https获取的)。

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

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

Ssh会显示如下内容:

Warning: Permanently added the RSA host key for IP address ‘192.30.252.128’ to the list of known hosts.

之后,您将看到类似的消息

Permission denied (publickey).

哪个好,但表明你需要进一步配置,或者简单

Hi yourlogin! You’ve successfully authenticated, but GitHub does not provide shell access.

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

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

次佳解决方法

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

第三种解决方法

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

尝试echo ‘yes’ | sudo npm install。这可以解决您的问题。如果没有,请尝试通过HTTPS进行克隆,或者将模块下载为tarball,这可以像这样的https://api.github.com/repos/用户名/reponame /tarball一样

第四种方法

你确定你没有意外地以不同的用户身份登录(当我以root身份sudo -s /login并且忘记我的GitHub帐户没有链接到该用户时,这种情况发生在我身上)。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/6575.html,未经允许,请勿转载。