git pull 什么都不做 / git push 只是挂起 / debug1:需要 SSH2_MSG_KEX_ECDH_REPLY

git pull 什么都不做 / git push 只是挂起 / debug1:需要 SSH2_MSG_KEX_ECDH_REPLY

我在 ubuntu 13.10 和 12.10 中遇到一个问题,尝试连接到 github(git clone / pull / push 或任何东西)会失败并且没有任何输出。

我检查了我的 /.ssh 目录config和任何 ssh 密钥。没有配置文件,并且 ssh 密钥id_rsa与我的 github.com 帐户上的密钥相同。

我尝试 ping github 服务器并且成功了。

我按照 github 指南来调试这种情况 - 它建议

ssh -T -v [email protected]

输出停止于:

debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY

谁有解决方案可以让我的 git pull/push 等正常工作。

答案1

解决方案在这里找到:SSH 在 Putty 中有效,但在终端中无效

在 Ubuntu 13.10/12.10 中,登录并获得 sudo 访问权限。

编辑/etc/ssh/ssh_config,取消注释以下几行

Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
MACs hmac-md5,hmac-sha1,[email protected],hmac-ripemd160

添加以下行

HostKeyAlgorithms ssh-rsa,ssh-dss

最终你的/etc/ssh/ssh_config文件应该看起来像这样

Host *
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
MACs hmac-md5,hmac-sha1,[email protected],hmac-ripemd160
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
HostKeyAlgorithms ssh-rsa,ssh-dss

现在运行,它会要求您将服务器添加到已知主机文件中。点击“是”,然后它会欢迎您访问服务器。ssh -T -v [email protected]

Hi ****! You've successfully authenticated, but GitHub does not provide shell access.

答案2

更改网络接口 MTU 即可解决。这是 ubuntu 14.04 的一个 bug。

这对我有用:

sudo ip li set mtu 1200 dev wlan0

ssh 无法连接到 VPN 主机 - 挂在“期望 SSH2_MSG_KEX_ECDH_REPLY”处

相关内容