CentOS 8 VPS SSH连接后推送代码到GitHub长时间无响应如何解决
CentOS 8 VPS 推送GitHub卡住401无响应解决方案
- 排查凭证配置问题
执行git config --local --unset credential.helper清除当前仓库的凭证助手配置,再执行git push测试。如果正常弹出认证输入提示,用户名填GitHub账号名,密码填提前生成的、已勾选repo权限的GitHub个人访问令牌(PAT)即可,GitHub已不再支持HTTPS方式使用账号密码直接认证。 - 强制Git使用TLS 1.2版本通信
CentOS 8自带的curl默认使用NSS加密后端,部分版本存在TLS 1.3下和GitHub认证交互异常的bug,执行以下命令强制使用TLS 1.2:git config --local http.sslVersion tlsv1.2
配置完成后再次执行git push测试。 - 切换为SSH协议推送
如果HTTPS协议的问题始终无法解决,可直接更换为SSH协议传输:- 执行
ssh-keygen -t ed25519 -C "你的GitHub绑定邮箱"生成SSH密钥,一路回车确认即可 - 执行
cat ~/.ssh/id_ed25519.pub复制公钥内容,粘贴到GitHub账号设置的SSH密钥列表中 - 执行
git remote set-url origin git@github.com:xxx/epAPIv2.git更换仓库的远程地址 - 执行
git push测试,首次连接确认Host指纹后即可正常推送
- 执行
- 排查系统curl组件问题
执行以下命令手动测试接口响应:curl -v -u 你的GitHub用户名 "https://github.com/xxx/epAPIv2/info/refs?service=git-receive-pack"
输入PAT后如果仍卡住无响应,执行dnf reinstall curl libcurl重装系统curl组件后再次测试。
内容的提问来源于stack exchange,提问作者Sylvain
相关产品推荐
相关产品推荐

