我在 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