Git ssh无法解析主机名

时间:2014-05-05 10:33:50

标签: git ssh proxy

如果我想通过SSH克隆Git存储库,我会得到:

ssh: Could not resolve hostname bitbucket.org: nodename nor servname provided, or not known
fatal: Could not read from remote repository.

我需要使用代理连接到互联网。 (代理:8080)

在Git中,我可以通过以下方式轻松设置HTTP和HTTPS代理:

git config --global http.proxy http://proxy:8080/
git config --global https.proxy http://proxy:8080/

如何通过SSH实现这一目标?

2 个答案:

答案 0 :(得分:3)

SSH无法使用HTTP / HTTPS代理。如果您的代理支持SOCKS,您可以使用tsocks或socksify之类的包装器或像redsocks这样的重定向工具通过SOCKS使用git。这些是Linux的选择;在Windows上,也许像Widecap这样的东西会有所帮助。以下是可能适合的工具的更全面概述:https://en.wikipedia.org/wiki/Comparison_of_proxifiers

或者,Git也支持HTTP,据我所知,BitBucket也是如此。因此,可能值得尝试使用https://的网址。示例:https:// youruser @ bitbucket.org / youruser / yourrepository .git

答案 1 :(得分:0)

我遇到了类似的问题并来到这里。就我而言,我的本地 gitlab 项目之一在推/拉时抛出以下错误。同一组下的其他 gitlab 项目运行良好。

ssh: Could not resolve hostname gitlab.com: nodename nor servname provided, or not known.

修复:

在文件 <PROJECT_FOLDER>/.git/config 中的 url 就像 url = ssh://git@gitlab.com

从 url 中删除 ssh:// 对我有用。