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

标签 git github ssh macos-high-sierra

我得到了一台装有最新 High Sierra 版本的新 MacOS 笔记本电脑。

我按照 Github 的官方指南生成了一个 ssh key 。然后我将它添加到我的钥匙串(keychain)中。之后,我将 ~/.ssh/config 中的 ssh 配置文件更新为如下:

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

没有提示我输入密码;每个连接都超时。 Git pull 、使用 ssh -T git@github.com 测试 ssh、向上游推送等。我尝试将 github 的域设置为使用不同的端口,但这似乎不起作用。我还尝试在 url 中指定不同的端口。

这是我尝试 pull 时的常见错误:
ssh: connect to host github.com port 22: Operation timed out
fatal: Could not read from remote repository.

尝试测试我的 ssh 连接时,我得到第一行,与端口 443 和 1234(我测试过的端口)类似。我无法在这台机器上禁用我的防火墙。

我需要帮助进行故障排除,所以如果有人有任何建议来确定我无法在这里互动的确切原因,我很想听听他们的意见!

最佳答案

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

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

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

Github 支持 using ssh over the https port .

根据该文档,运行它将允许您通过 https 测试连接:

ssh -T -p 443 git@ssh.github.com

如果成功,您可以通过更改 ~/.ssh/config 来解决此连接问题。在 Github 的 https 端口(443)上强制 ssh:
Host github.com
  Hostname ssh.github.com
  Port 443

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

希望这对某人有帮助!

关于git - MacOS High Sierra - 无法通过 ssh 与 Github 交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47638433/

相关文章:

github - 我怎么只有gh-pages分支?

Java 控制 Windows 服务器

android - Github 3.0.11 没有git.exe - 如何与Android-Studio 集成

git show --name-status 字母 : when can more than one letter appear?

git - Git子树 merge 策略或子树命令?

github - 在命令行中登录Phonegap 3.0的github

linux - 将 buildroot 与 BeagleBone github 存储库集成

git - git如何将当前工作分支移动到master分支

emacs - 如何使用Emacs Tramp进行SSH双跳?

ssh - Gitlab CI 使用 ed25519 私钥