(二)记录windows系统github 推送或拉取分支失败的解

2024-05-07  本文已影响0人  GoodTekken

问题描述:执行指令 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的查询方法,授人以鱼不如授人以渔,所以知道这个网址之后就能自己查询和修改:


github.com
github.global.ssl.fastly.net

以下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

  1. win+r,输入cmd,打开终端
  2. 输入ipconfig /flushdns


    刷新DNS

步骤3,测试,显示成功

推送

(华丽的分割线)

思路一:

在网上也看到了其他的解决方案,有说github服务器关闭的,这个概率很低,可以查询以下网址,查看github服务器的工作状态:(https://www.githubstatus.com/

github status

思路二:

可能是密钥过期,重新生成密钥,然后将公钥放置在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:


添加New SSH key

思路三:

关闭防火墙

思路四:

可以网上搜索一下其他的解决方案,一般是修改代理服务器,或者是将SSH传输改成https传输,希望以上可以帮到你。
修改代理服务器1
修改代理服务器2

上一篇 下一篇

猜你喜欢

热点阅读