遵循GitHub SSH连接文档操作后遇SSH主机名解析失败及Git远程仓库报错求助
解决Git远程仓库与SSH连接的两个报错
我来帮你拆解这两个报错的原因和解决办法,都是Git和SSH配置里常见的小问题:
第一个报错:fatal: remote origin already exists
这个问题很直接——你的本地Git仓库已经关联过一个名为origin的远程仓库了,重复执行git remote add origin命令自然会触发冲突。
解决步骤:
- 先查看当前已有的远程仓库信息,确认
origin指向的地址:git remote -v - 根据结果处理:
- 如果
origin已经是你想要的git@github.com:<myname>/aws-bootstrap.git,直接跳过add步骤继续后续操作即可; - 如果
origin是旧的错误地址,直接更新它:git remote set-url origin git@github.com:<myname>/aws-bootstrap.git - 如果确实不需要现有的
origin,可以先删除再重新添加:git remote remove origin git remote add origin git@github.com:<myname>/aws-bootstrap.git
- 如果
第二个报错:ssh: Could not resolve hostname github: nodename nor servname provided, or not known
这个报错是SSH无法解析你指定的主机地址,大概率是地址写错或者SSH配置有问题,常见原因和修复方案如下:
可能的原因&修复:
远程仓库地址写错了
检查你的origin地址是不是少了.com——比如写成了git@github:...而不是正确的git@github.com:...。用git remote -v确认地址,要是错了就用上面的git remote set-url命令修正。SSH配置文件的主机别名有问题
如果你本地有~/.ssh/config文件,检查里面是不是有类似这样的配置:Host github HostName github.com User git IdentityFile ~/.ssh/your-key-file如果只写了
Host github却没配置HostName github.com,SSH就不知道这个别名对应的真实地址,自然解析失败。要么补全配置,要么直接用完整的github.com地址。本地DNS解析故障
试试在终端执行ping github.com,如果ping不通,说明你的本地DNS无法解析GitHub的域名。可以尝试切换DNS服务器(比如谷歌的8.8.8.8),或者刷新本地DNS缓存:- Mac:
sudo dscacheutil -flushcache - Windows:
ipconfig /flushdns
- Mac:
SSH密钥配置问题(后续排查)
先解决主机解析问题,如果之后还是出现权限报错,再检查:- 你生成的SSH公钥有没有添加到GitHub账户的SSH设置里;
- 本地的ssh-agent有没有运行,密钥有没有加载(用
ssh-add -l查看,没加载的话用ssh-add ~/.ssh/your-key-file添加)。
内容的提问来源于stack exchange,提问作者coursepredict1
相关产品推荐
相关产品推荐

