问题描述:执行指令 git push origin master 出现connect to host github.com port 22: Connection timed out的警告
$ git push origin master
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
(1)先说解决方案,针对windows用户,如果之前能推送代码,现在突然推送超时,大概率是DNS被污染,需要在hosts文件指定域名的IP映射。(文件路径:C:\Windows\System32\drivers\etc\hosts)
hosts文件内容如下,文件中行首的# 都是注释,可以忽略:
192.30.255.112 github.com git
151.101.1.194 github.global.ssl.fastly.net
之前已经对github.com的IP地址进行映射,但后面服务器的IP改了,所以映射不正确,就出现了Connection timed out 的告警,今天是2024年5月8日,按照以下IP地址配置,并且刷新DNS即可推送:
步骤1. hosts文件修改内容如下:
# 192.30.255.112 github.com git
# 51.101.1.194 github.global.ssl.fastly.net
# https://sites.ipaddress.com/github.com
# https://sites.ipaddress.com/github.global.ssl.fastly.net
140.82.114.3 github.com
151.101.1.194 github.global.ssl.fastly.net
注释中的第一和第二行就旧的记录,第三行和第四行是服务器IP的查询方法,授人以鱼不如授人以渔,所以知道这个网址之后就能自己查询和修改:
以下4个IP任选一个:
github.global.ssl IN A [151.101.1.194]
github.global.ssl IN A [151.101.65.194]
github.global.ssl IN A [151.101.129.194]
github.global.ssl IN A [151.101.193.194]
步骤2. 刷新DNS
- win+r,输入cmd,打开终端
-
输入ipconfig /flushdns
步骤3,测试,显示成功
(华丽的分割线)
思路一:
在网上也看到了其他的解决方案,有说github服务器关闭的,这个概率很低,可以查询以下网址,查看github服务器的工作状态:(https://www.githubstatus.com/)
思路二:
可能是密钥过期,重新生成密钥,然后将公钥放置在github上:
步骤1.本地生成密钥
ssh-keygen -t rsa -C "xxxxtekken@gmail.com"
-t : t是type的缩写
-t 即指定密钥的类型,密钥的类型有两种,一种是RSA,一种是DSA
-C:C是comment的缩写
-C表示提供一个注释,用于识别这个密钥。
“你的邮箱地址(因为邮箱地址具有唯一性所以一般用这个)”:用于识别这个密钥的注释
引号里的内容为注释的内容,所以" "里面不一定填邮箱,可以输入任何内容。
步骤2,将公钥放置在github上:
1,文件地址:(C:\Users\80441.ssh\id_rsa.pub)使用记事本或编辑器打开,全部复制。
2,将复制的内容放置到github:
思路三:
关闭防火墙
思路四:
可以网上搜索一下其他的解决方案,一般是修改代理服务器,或者是将SSH传输改成https传输,希望以上可以帮到你。
修改代理服务器1
修改代理服务器2