WiFi环境下不使用VPN或手机热点无法访问GitHub问题求助
问题原因
- 当前WiFi网络存在针对GitHub的DNS解析污染,报错中显示的解析IP
103.59.214.106不属于GitHub官方IP段,SSH连接时检测到返回的主机密钥与本地存储的GitHub官方密钥不匹配,因此触发安全校验拦截。 - 手机热点、VPN环境下DNS解析未被污染,能拿到GitHub官方真实IP,因此密钥校验可以正常通过,所有操作不受影响。
- 清除本地存储的旧密钥后在热点环境可以正常重连,是因为此时获取到的是官方真实密钥;而WiFi环境下清除密钥后拿到的是伪造站点的密钥,与官方密钥不一致,因此即使输入正确密码也会被拒绝访问。
解决方案
- 优先修改本地设备的DNS服务器,替换为无DNS污染的公共DNS,比如223.5.5.5、8.8.8.8,修改完成后刷新本地DNS缓存,验证github.com的解析IP与热点环境下的解析结果一致后再尝试操作。
- 如果改DNS后仍有报错,先执行终端提示的清除旧密钥命令:
ssh-keygen -f "/home/mayank/.ssh/known_hosts" -R "github.com"
- 确认当前网络解析的GitHub IP为官方真实IP后,再执行git相关操作,首次连接会提示确认新的主机密钥,核对指纹无误后确认即可正常使用。
- 若修改DNS仍无法解决,可直接在本地hosts文件中绑定github.com的官方IP,跳过当前WiFi的DNS解析环节。
内容的提问来源于stack exchange,提问作者maxagno3
相关产品推荐
相关产品推荐

