热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发日志:Git连接异常处理

记录了一次多台开发机(Windows与MacOS)同时出现GitHubSSH连接超时及权限拒绝的问题,并详细描述了解决过程及最终解决方案。

今天早晨遇到一个棘手的问题,代码无法提交到GitHub,经过一系列尝试后终于解决了问题,特此记录。问题出现在公司的三台开发机上(两台Windows和一台MacOS),它们都遇到了SSH连接超时错误(错误码22或443)。我首先检查了GitHub官网,发现只有在开启VPN的情况下才能访问,且需要更新主机文件,添加了140.82.112.3 github.com之后,可以在常规网络环境下访问GitHub。

尽管如此,依然面临访问失败或权限被拒的情况。我尝试了重启电脑,但没有效果。接着,我通过Fork新建了一个SSH密钥,确保其名称与之前的SSH密钥相同(例如winnotebook.pub),并将其添加到GitHub的SSH设置中,但仍然收到权限拒绝的错误。期间,我还尝试使用Git Bash重新生成SSH密钥,同样无效。

为了进一步排查问题,我在不同的开发机上进行了测试,但结果依旧。考虑到是否可以通过HTTPS方式解决问题,我注意到自2021年8月14日起,GitHub不再允许在克隆地址中直接输入用户名和密码,而是需要在开发者设置中创建个人访问令牌,并使用该令牌进行操作。因此,我创建了一个新的令牌,并尝试通过HTTPS克隆仓库,但在输入令牌后仍然遇到问题。

面对这一系列挫折,我决定先通过下载ZIP包的方式完成当天的工作任务。令人惊讶的是,在再次尝试使用Git Bash创建SSH密钥时,将密钥命名为id_rsa后,问题竟然得到了解决。我将新生成的id_rsa密钥添加到GitHub的SSH设置中,并尝试连接,结果显示成功。随后,我使用Fork推送代码,也顺利完成。

这次经历让我感到非常困惑。通常情况下,我的SSH密钥都是根据开发机的名称命名的,如winnotebook、macnotebook、windesktop,且这些密钥已经在GitHub上正确配置。为何今天早上这三台机器会突然集体失效,至今仍是一个谜。尽管最终问题得以解决,但整个过程更像是偶然发现的解决方案。希望这次记录能够在未来遇到类似问题时提供帮助。


推荐阅读
author-avatar
长不大的二楞子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有