Git可拉取克隆但突然无法推送,咖啡馆新WiFi下SSH多账号异常
解决咖啡馆WiFi下Git SSH推送失败的问题
针对你遇到的「能克隆但无法推送,报错权限不足」的问题,结合公共WiFi环境和SSH多账号场景,可按以下步骤排查解决:
验证SSH身份是否正确
执行ssh -T git@github.com,查看返回的账号名称是否与当前仓库的权限账号一致。如果返回的是其他账号(多账号场景下常见),说明当前SSH使用的密钥不匹配。强制指定仓库对应的SSH密钥
在仓库根目录下执行:git config core.sshCommand "ssh -i ~/.ssh/你的私钥文件名"替换
~/.ssh/你的私钥文件名为当前仓库权限对应的私钥路径,之后再尝试git push。检查公共WiFi是否拦截SSH端口
部分公共WiFi会禁用默认的SSH 22端口,可尝试改用GitHub的443端口进行SSH连接:- 先测试连通性:
ssh -T -p 443 git@ssh.github.com - 如果能成功连通,修改仓库的SSH命令配置:
或者直接修改远程仓库地址:git config core.sshCommand "ssh -p 443 -i ~/.ssh/你的私钥文件名 git@ssh.github.com"git remote set-url origin git@ssh.github.com:你的用户名/仓库名.git
- 先测试连通性:
清空SSH代理缓存并重新加载密钥
执行以下命令重置SSH代理:ssh-add -D # 清空所有缓存的密钥 ssh-add ~/.ssh/你的私钥文件名 # 重新添加对应私钥完成后再次尝试推送。
检查是否存在自动代理干扰
公共WiFi可能自动设置了系统代理,执行以下命令查看是否有代理配置:echo $HTTP_PROXY echo $HTTPS_PROXY如果输出了代理地址,临时取消代理后重试:
unset HTTP_PROXY HTTPS_PROXY
内容的提问来源于stack exchange,提问作者xilinzhou
相关产品推荐
相关产品推荐

