在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 上正常的上下传代码了。