Macbook Pro M1下Git推送报错:无法读取远程仓库
解决Git推送时的SSH连接重置问题
错误信息中文翻译
原错误:
kex_exchange_identification: read: Connection reset by peer Connection reset by 2606:4700:90:0:f22e:fbec:5bed:a9b9 port 22 fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
翻译后:
kex_exchange_identification: 读取错误: 对等端重置连接 连接被 2606:4700:90:0:f22e:fbec:5bed:a9b9 的 22 端口重置 致命错误: 无法读取远程仓库。 请确认你拥有正确的访问权限,且仓库确实存在。
排查解决步骤
- 先查网络:换个稳定网络(比如手机热点)或者重启路由器,大概率是网络波动导致连接中断。
- 临时换HTTPS推送:不想折腾SSH的话,直接把仓库地址改成HTTPS格式,执行:
推送时输入账号密码或者个人访问令牌即可。git remote set-url origin https://github.com/你的用户名/你的仓库名.git - 检查SSH密钥:
- 先看本地有没有SSH密钥:
ls ~/.ssh,确认是否存在id_rsa或id_ed25519这类文件。 - 没有就重新生成:
ssh-keygen -t ed25519 -C "你的邮箱地址",一路回车完成生成。 - 把公钥(比如
id_ed25519.pub里的完整内容)复制到远程仓库的SSH密钥设置页面(比如GitHub的Settings→SSH and GPG keys)。
- 先看本地有没有SSH密钥:
- 测试SSH连接:执行
ssh -T git@github.com,能收到欢迎信息就说明SSH配置正常,收不到则根据报错信息针对性排查。 - 换SSH端口:部分网络会拦截22端口,试试用443端口。新建或修改
~/.ssh/config文件,添加以下内容:
保存后再尝试推送。Host github.com Hostname ssh.github.com Port 443 - 清除代理配置:如果之前设置过代理,可能干扰连接,执行以下命令清除:
git config --global --unset http.proxy git config --global --unset https.proxy
内容的提问来源于stack exchange,提问作者Zain Khan
相关产品推荐
相关产品推荐

