Hexo 通过 git 的 ssh 链接 github 超时 (time out)

本文最后更新于:2025年1月18日 晚上

Hexo 通过 git 的 ssh 链接 github 超时 (time out)

最近在提交 hexo 文章时,遇到了 git 通过 ssh 链接 github 超时 time out 的问题,终端上的黄字非常具有迷惑性:Error: Spawn failed!

使用 ssh -T git@github.com 进行测试也是如此。

1
2
$ ssh -T git@github.com
ssh: connect to host github.com port 22: Connection timed out

实际上是 git 在尝试使用端口 22 链接超时而已,我们可以将其改为 443 再链接。

解决办法

  1. 找到你生成 rsa 的地方,它可能是 C:\Users\Name\.ssh
    还记得吗?你曾通过 ssh-keygen -t rsa -C "你的git绑定的邮箱名字" 这样一个命令生成了一个 rsa 文件(我不记得了 (≧﹏ ≦)

  2. 修改或创建一个 config 文件写入以下代码:

    1
    2
    3
    4
    5
    6
    Host github.com
    HostName ssh.github.com
    User git
    Port 443
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa

    这样就能将访问的 github.com 转换为 ssh.github.com

请注意,~/ 是你要进行填充的地方,~ 取决于你的 rsa 的保存位置。例如:C:/Users/Administrator/.ssh/id_rsa

完成上述操作之后你就可以通过以下命令进行尝试:

1
2
$ ssh -T git@github.com
Hi 4rozeN! You've successfully authenticated, but GitHub does not provide shell access.

成功的话,它会提示你已成功通过身份验证,但 GitHub 不提供 shell 访问权限,这是正常的。

参考文章:关于本地 git 通过 ssh 链接 github 时 time out 问题的解决方法


Hexo 通过 git 的 ssh 链接 github 超时 (time out)
https://4rozen.github.io/archives/notes/10729.html
作者
4rozeN
发布于
2025年1月18日
许可协议