如何让 git 克隆与 ssh 一起工作



我是一个新手,试图用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

如何修复此错误?

您可以像修复任何 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.

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

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

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

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

最新更新