如何让git clone与ssh一起使用?

时间:2016-01-29 00:57:23

标签: git github ssh

我是一个gitnewbie尝试用ssh克隆我的githubrepo。我按照以下步骤操作: https://help.github.com/articles/generating-an-ssh-key/

在代理环境中工作,因此有一种直觉,可能与此有关。当我去:git clone git@github.com:myuser / myrepo.git,我收到此错误:

ssh: connect to host github.com port 22: Connection timed out

如何解决此错误?

1 个答案:

答案 0 :(得分:2)

您可以像修复任何ssh问题一样修复它。从等式中删除Git,然后尝试使用ssh登录。如果它有效,你应该看到这样的东西。

$ ssh git@github.com
PTY allocation request failed on channel 0
Hi schwern! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

如果它不起作用,则需要调试ssh会话。通常您可以使用ssh -v执行此操作(并且您可以添加更多-v以获得更多详细信息)。

$ ssh -v foo@example.com
OpenSSH_7.1p2, OpenSSL 1.0.2e 3 Dec 2015
debug1: Reading configuration data /opt/local/etc/ssh/ssh_config
debug1: Connecting to example.com [93.184.216.34] port 22.

如果此时挂起,则根本无法连接到主机,或者没有ssh服务器在端口22上侦听,或者端口被防火墙阻止。

由于这是Github肯定有一个ssh服务器并且正在为我工​​作,我怀疑最后一个:你在防火墙后面。您可以尝试ssh到其他地方来测试。

在这种情况下,要么使用VPN来绕过防火墙,要么尝试使用HTTPS连接。

git clone https://github.com/myuser/myrepo.git