【问题标题】:ssh config file for git on mac timeoutmac 超时时 git 的 ssh 配置文件
【发布时间】:2020-11-09 04:10:33
【问题描述】:

我有 2 个要与 Github 一起使用的帐户,我正在尝试通过遵循 tutorial 将 github 设置为通过 ~/.ssh/config 处理多个帐户。我创建了 2 个 ssh 密钥(例如 rsa_1 和 rsa_2)并像这样设置 ~/.ssh/config 文件:

Host github.com
        HostName github.com
        User username1
        IdentityFile ~/.ssh/id_rsa_1
        IdentitiesOnly yes

Host work.github.com
        HostName github.com
        User username2
        IdentityFile ~/.ssh/id_rsa_2
        IdentitiesOnly yes

然后,我在要与另一个帐户一起使用的 repo 上设置远程 url

git remote set-url origin work.github.com:<shared_gitrepo_name>/project.git

但是当我 git push origin 时,它总是超时

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

这让我觉得配置文件没有被引用。我不确定我做错了什么。任何帮助将不胜感激!

【问题讨论】:

  • 你能联系到ssh github.com 吗?
  • 可以,回复如下:ssh -T git@github.com 你已经成功认证,但是GitHub不提供shell访问。
  • 那么它在没有 sudo 的情况下是否有效(正如我在讨论中提到的那样)?

标签: git macos github ssh


【解决方案1】:

您在这两种情况下都使用了错误的用户名:

Host github.com
        HostName github.com
        User git <========================== 
        IdentityFile ~/.ssh/id_rsa_1
        IdentitiesOnly yes

Host work.github.com
        HostName github.com
        User git <==========================
        IdentityFile ~/.ssh/id_rsa_2
        IdentitiesOnly yes

您总是要求以用户“git”而不是用户“usernamex”的身份与 github.com 建立 SSH 会话。
事实上,你的公钥被复制到 username1username2 SSH profile page 足以让 GitHub 知道你是谁。

但是,正如phd 注释in the comments 一样,超时可能表明存在网络连接问题(例如防火墙阻止了端口 22 上的传出流量)。
即使这样有效,那么错误的用户无论如何都会使 ssh 调用失败。

注意:如the discussion 所示,请勿使用sudo
使用sudo 意味着只考虑/etc/shh/config,而不考虑~/.ssh/config

【讨论】:

  • 错误的用户名会导致超时吗?对于ssh phd@github.com,我得到了“phd@github.com: Permission denied (publickey).”,而不是超时。
  • @phd 不确定。我可以肯定的是:只要你的 User 不是 git,任何对 github 的 ssh 调用都将不起作用。
  • 感谢您的回复!我将两个实例的用户都更改为 git,但请求仍然超时,我还设置了 2 个遥控器,一个带有 work.github.com:&lt;shared_gitrepo_name&gt;/project.git,一个带有 git@work.github.com&lt;shared_gitrepo_name&gt;/project.git,但两者都仍然超时
  • @accAscrub 所以除了用户,肯定还有网络问题。
  • 有什么方法可以测试是否是网络问题? ssh -T git@github.com 对我来说很好,这是否意味着它不是网络问题?
猜你喜欢
  • 2020-04-18
  • 2020-01-14
  • 2014-11-04
  • 2021-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-23
  • 2012-05-01
相关资源
最近更新 更多