ssh:无法解析主机名 git:名称或服务未知 致命:无法从远程存储库读取
Posted
技术标签:
【中文标题】ssh:无法解析主机名 git:名称或服务未知 致命:无法从远程存储库读取【英文标题】:ssh: Could not resolve hostname git: Name or service not known fatal: Could not read from remote repository 【发布时间】:2019-04-07 08:31:48 【问题描述】:在我的仓库从 HTTPS 切换到 SSH 后,我在推送到源主机时收到此错误:
ssh: Could not resolve hostname git: Name or service not known
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我还在 gitlab 中添加了我的 ssh。我该怎么办?
【问题讨论】:
你是如何切换的?你可以粘贴你使用的命令吗?这可能是某个地方的错字 我是这样做的:git remote add origin mySSH_url 您是使用默认名称还是自定义生成 ssh 密钥?如果是自定义的,您是否更改了 URL 格式? 你能发布 mySSH_url,除非它是秘密的?我仍然认为您可能有错字,可能是格式错误或其他什么 不! mySSH_url 是正确的。我仔细检查了一下。 【参考方案1】:我遇到了同样的错误。
更改.gitconfig
或.config/git/config
文件中的[remote "origin"]
url
值
以前:
https://git@github.com:userName/repo.git
或
ssh://git@github.com:userName/repo.git
新功能:
git@github.com:userName/repo.git
【讨论】:
【参考方案2】:HTTPS URL 可让您轻松访问您的存储库,无论是私有的还是公共的,即使您在防火墙或代理后面工作。这是推荐的方式。
另一方面,SSH URL 使用安全 ssh 协议来访问存储库。
回到您的问题,错误可能是由于配置不当造成的。 git remote add
命令用于向您的存储库添加一个您已经尝试过的新远程。但是,从 HTTPS 切换到 SSH url,意味着您的远程源已经设置为 http url,并且您想要更改。
因此,首先检查您当前的远程来源所指的网址:
$ git remote -v
如果是指 HTTPS url,那么你必须使用
$ git remote set-url origin mySSH_url
命令将其更改为 SSH url。
现在,试试git remote -v
,它会显示为源配置的 SSH url。
请确保在使用 SSH 网址时,您已生成 ssh 密钥并将其添加到 ssh-agent
以及 GitLab/GitHub 帐户。
Here 是一篇关于如何更改遥控器 url 的非常好的文章。
此外,您还可以详细了解要使用哪个远程 URL here。
【讨论】:
我尝试删除当前的 HTTPS 源,然后使用 SSH url 添加远程存储库。但我使用了你的解决方案,它也有效。谢谢【参考方案3】:嗯,在我的情况下,我的本地系统没有连接到 ***,因此出现了这个错误。所以这可能是除了上述答案之外的原因之一。
【讨论】:
其实我也在用 ***,git fetch
不能在终端工作,但我可以在浏览器中连接到私有 bitbucket 服务器。
有趣/悲伤这样一个简单的解决方案并没有立即出现在我们的脑海中。我现在也是这种情况。
同样的事情!重新连接到 *** 解决了这个问题。谢谢【参考方案4】:
对我来说,这是一个“愚蠢”问题的简单解决方案:
输入$ git push
后,提示我
Are you sure you want to continue connecting (yes/no)?
,而不是仅仅点击enter,实际上写“yes”然后然后点击enter解决了它!
【讨论】:
以上是关于ssh:无法解析主机名 git:名称或服务未知 致命:无法从远程存储库读取的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu ssh:无法解析主机名 myserver:名称或服务未知
Git推送错误:ssh:无法解析主机名domain.com [:7555]:提供节点名或服务名,或未知
apache 虚拟主机(EAI 2)名称或服务未知:AH00547:无法解析主机名