为什么我的SSH连接github时会卡在那里?

8
这是我今天尝试了十次但都没有成功的内容:
  • 使用ssh-keygen生成密钥。
  • 使用Gedit或Notepad++打开~/.ssh/id_rsa.pub并复制其中的内容。
  • 进入github.com的账户设置。
  • 进入SSH Keys。
  • 点击添加密钥按钮。
  • 为密钥命名。
  • 将密钥粘贴到密钥框中。
  • 保存密钥(输入github密码进行验证)。
然后,在cygwin中运行'$ ssh -vT git@github.com',但它总是卡在那里。以下是输出:
$ ssh -vT git@github.com
OpenSSH_6.0p1, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /home/eason.wu/.ssh/config
debug1: /home/eason.wu/.ssh/config line 1: Applying options for github.com
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to github.com [207.97.227.239] port 22.
debug1: Connection established.
debug1: identity file /home/eason.wu/.ssh/id_rsa type 1
debug1: identity file /home/eason.wu/.ssh/id_rsa-cert type -1

有人遇到这个问题吗?如果有解决方案,请分享一下。
4个回答

10
请确保你复制了公钥作为一行,因为从编辑器中复制时可能会将该密钥的内容缓冲为多行。
如果你仍然有问题,请在"Unable to Git-push master to Github"中查看其他SSH调试提示。ssh -vvvT git@github.com可以显示更多调试信息。
OP Eason Wu评论道:

我发现了这个问题的真正原因,它是由我的网络引起的。
我的公司禁止访问某些网站,我认为这也影响了GitHub服务。
当我打开VPN连接并再次使用ssh -vvvT git@github.com进行测试时,成功通过了。


是的,我把它复制成了一行。我也像提示中提到的那样创建了一个配置文件,但仍然不起作用。在使用-vvvT选项后,它会抛出一个新消息,“无法将“/home/eason.wu/.ssh/id_rsa”加载为RSA1公钥”,不确定我的密钥是否正确?但是我是按照https://help.github.com/articles/generating-ssh-keys生成密钥的。这非常奇怪。不管怎样,感谢您的回复。 - Eason
@EasonWu,请检查你的.ssh保护措施:请参考https://dev59.com/-FDTa4cB1Zd3GeqPJXiE#3712619 - VonC
我已经对.ssh文件下的用户日志进行了完全控制,但仍无法连接到服务器。我下载了GitHub提供的工具,通过SSH方式运行良好,可能是我做错了一些步骤。感谢您的建议! - Eason
1
我找到了这个问题的真正原因,是由于我的网络引起的。一些网站被我的公司禁止访问,我认为这也影响了github服务。当我打开VPN连接后,再次使用“ssh -vvvT git@github.com”进行测试,测试成功通过了。 - Eason
@EasonWu 很好。我已经在答案中包含了你的结论,以便更加明显。 - VonC
显示剩余3条评论

1

如果最近有人来到这里寻找解决方案,我也遇到了同样的问题,但是在调试过程中(按照上面的说明),连接到GitHub从未建立。

我的输出结果如下:

OpenSSH_7.9p1 Ubuntu-10, OpenSSL 1.1.1b  26 Feb 2019
debug1: Reading configuration data /home/preston/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "github.com" port 22
debug2: ssh_connect_direct
debug1: Connecting to github.com [2607:7700:0:1a:0:1:c01e:ff70] port 22.

我注意到最后一行的IPv6地址,认为这可能是问题所在。因此,我找了一篇文章,在全局ssh设置中将其更改为使用IPv4地址。
更改为IPv4后,问题得到解决。
来源:https://dev59.com/T2Ei5IYBdhLWcg3wFou9#35113901

0

对我来说,问题在于我连接的路由器使用的是WPA而不是WPA2/3。一旦我切换到没有这个问题的网络,我的仓库就立即通过ssh克隆了。


-2

我通过将 GitHub "github.com" 添加到我的路由器白名单中解决了这个问题。你也可以通过 VPN 来克服这个问题,但是需要另一组步骤来查找并设置 VPN。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接