在git上传/下载代码时,返回 ssh: connect to host github.com, 怎么办?

132 阅读1分钟

在git上传/下载代码时,返回 ssh: connect to host github.com, 怎么办?

前言

【操作环境: windows】
在使用 git bash 上传或者下载代码时,操作不是100%成功。
其中就会遇到这么一个情况:
git: ssh: connect to host github.com port 22: Connection timed out fatal: Could not read from remote
这看着好像是连接不上 github 仓库,也许第一时间就祭出自己的科学上网工具。
然而这方法不一定解决问题。

解决思路

我们仔细看看返回信息。
git: ssh: connect to host github.com port 22
这里说了,用端口22是连不上 github 。
那么,我换个端口,比如443来连,怎么样?

准备工具

  • 写字板,或者类似的编辑文本工具
  • 用于登录 github 的公钥文件

步骤

  • 在自己系统用户名文件家里,找到文件夹 .ssh 。
  • 在该文件夹里,新建文件 config (不要后缀 .txt)

  • 在该文件里,写入一下内容,保存
    Host github.com
    User XXXXXXXX(我们在github上用的邮箱名)
    Hostname ssh.github.com
    PreferredAuthentications publickey (默认的验证方式:公钥)
    IdentityFile ~/.ssh/id_rsa (公钥文件的位置)
    Port 443 (我们要更换的端口)
    【总结成一句话是,要更换 github 的登录端口,需要编写 config 文件,而在该文件里,不光写上要更换的端口 port ,还要配套补上 Host、User、Hostname、PreferredAuthentications、IdentityFile 这五个字段】
  • 使用命令 ssh -T git@github.com 测试连接,当看到返回 Hi XXXXXX(我们的名字)! You've successfully authenticated, but GitHub does not provide shell access. 表明已经成功换了另外的端口连上 github ,这时就能在 github 上正常的上下传代码了。