MacOS High Sierra - 无法通过ssh与Github交互

时间:2017-12-04 17:06:55

标签: git github ssh macos-high-sierra

我买了一台配备最新High Sierra版本的新MacOS笔记本电脑。

我在Github的官方指南后生成了一个ssh密钥。然后我把它添加到我的钥匙串中。之后我在〜/ .ssh / config中更新了我的ssh配置文件,如下所示:

Host *
 AddKeysToAgent yes
 UseKeychain yes
 IdentityFile ~/.ssh/id_rsa
 ForwardAgent yes

我没有被提示输入密码;每一次连接都会超时。 Git pull,用ssh -T git@github.com测试ssh,推送上游等等。我试过设置github的域来使用不同的端口,但这似乎没有用。我也尝试在网址中指定一个不同的端口。

这是我尝试拉动时的常见错误:

ssh: connect to host github.com port 22: Operation timed out
fatal: Could not read from remote repository.

在尝试测试我的ssh连接时,我得到第一行,类似于端口443和1234(我测试过的那些)。我无法在此计算机上禁用防火墙。

我需要帮助排除故障,所以如果有人有任何建议确切地说明我无法在这里互动的原因,我很乐意听到它们!

1 个答案:

答案 0 :(得分:5)

我收到了几封电子邮件,询问我是否解决了这个问题,所以我想我会在这里发布我的解决方案。

我怀疑我无法通过ssh端口连接的原因是我公司的防火墙或我的家庭域未被添加到我们组织的Github的白名单中。

当我第一次尝试解决这个问题时,我提到我正在尝试更改端口 - 愚蠢的是,我只是将其更改为随机端口号以查看是否有任何内容。

Github支持using ssh over the https port

根据该文档,运行此文件将允许您通过https:

测试连接
ssh -T -p 443 git@ssh.github.com

如果成功,您可以通过更改~/.ssh/config强制ssh通过https端口(443)为Github解决此连接问题:

Host github.com
  Hostname ssh.github.com
  Port 443

对于其他域,显然,您将指定特定于域的主机和主机名。

希望这有助于某人!