我在 Ubuntu 11.04 上安装了 git,并在 GitHub 上克隆了一个私有(private)存储库。每当我尝试向存储库推送或从存储库 pull 时,大约需要 30-60 秒。即使它们在存储库中没有变化。在 Windows 7 上使用相同的存储库时, pull/推请求只需要几秒钟。我不知道哪里出了问题。
我运行了 ssh -v git@github.com,它就在这一行之后挂起:
debug1: SSH2_MSG_SERVICE_ACCEPT received
上面的行需要 30-60 秒才能完成,其余的行会在一秒内完成。这是 ssh -vvv git@github.com 的完整输出:http://pastebin.com/LdY0EifW
我已经尝试在/etc/ssh/ssh_config 中将“GSSAPIAuthentication”更改为“no”并将“UseDNS”更改为“no”。这没有任何区别。
有什么想法吗?
最佳答案
看来系统的熵耗尽了。
与任何其他加密应用程序一样,SSH 需要一些真正的随机数才能提供安全性。 Linux 内核通常从各种事件的精确计时中收集一些随机性(熵),并通过 /dev/random
提供它,ssh 在需要创建 session key 时读取它。在台式机上,通常会收集到足够的熵,但如果有其他应用程序需要它,你可能会运行低,而不是阅读 /dev/random
会花费很多时间,因为它正在等待收集足够的熵。
=> 请通过运行 strace ssh git@github.com
来验证它是否真的在等待从 `/dev/random 读取。如果是,则说明您遇到了这个问题。
如果它是托管任何潜在敏感数据的服务器,您应该为其配备硬件随机数生成器(例如“熵 key ”)。您还可以尝试将随机数生成器设置修改为不太安全的设置(我相信可以通过/proc 设置一些选项),但前提是服务器不托管客户数据或任何敏感的公司数据。
编辑:它看起来更像是某处的网络问题。
关于linux - GitHub 永远在 Ubuntu 11.04 上推送/pull ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6908207/