git - 无法解析主机名

3

我在使用Windows平台的私有网络中,通过VPN连接。我正在尝试使用git克隆一个项目。

git clone ssh://git@domain-name:somestring/str-somestring.git

But I getting ssh: Could not resolve hostname domain-name: 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.

我在本地生成了ssh,并将其添加到了我的本地仓库中。有人能帮我解决一下吗?

我确定我对这个项目拥有所有访问权限。

更新

ping google.com在VPN外是可以工作的,但在VPN内无法工作。


@NilsWerner,即使在我的命令提示符中ping stackoverflow.com也无法工作,但我的域名是有效的。我可以通过网址成功连接它。 - Suganthan Madhavan Pillai
你是否将 ssh-key 添加到了你的主机名设置中? - Shravan40
@Shravan40 你是指在主机文件中吗? - Suganthan Madhavan Pillai
@Suganthan:你需要将你的本地机器ssh密钥添加到ssh-agent中。 - Shravan40
ssh:无法解析主机名 - Suganthan Madhavan Pillai
显示剩余4条评论
1个回答

10
错误信息非常清晰。git无法解析domain-name

请尝试在您输入git命令的同一 shell 中执行:

ping domain-name
nslookup domain-name

99%的概率它们也不会起作用。

如果是这样,最简单的解决方法是将该名称及其IP地址添加到/etc/hosts中(与git无关)。当ping/nslookup工作时,git也会工作。

编辑总结评论:修改/etc/hosts的建议主要是为了调试目的-直接排除与git无关的神秘DNS问题。更好的方法是修复实际问题(很难给出真正的建议,因为可能有很多根本原因...)。顺便说一句,在MacOS上流行的问题似乎是DNS缓存-如果搜索“刷新dns缓存macos”,可以找到许多在线资源。


1
@Suganthan,如果你无法通过nslookup查询域名,那么问题可能出在DNS服务上,而不是git,或者该域名无效。在继续之前,你需要确保nslookup正常工作。很可能是因为该域名在VPN网络中无法被识别。你能在这里展示一下该域名吗? - Klaus
7
如果nslookup成功,但git命令仍提示“无法解析主机名”,应如何处理? - benez
请确保没有任何拼写错误。"无法解析主机名"非常明显;它无法通过DNS解析主机名。 - AnoE
3
所以 @AnoE,我面前有一个例子(在Linux上),我可以查找主机名并ping它,但是git却说无法解析主机名。虽然我相信Git出于某种原因无法解析,但这表明你的评论可能并不总是正确的。 - pmc
1
@scubbo,谷歌搜索“macos dns缓存”,你会得到很多关于如何清除该缓存(以及它的存在)的结果。 - AnoE
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接