无法运行TortoiseGit + cntlm + 代理服务器

3

我想在GitHub上开始使用Git,但是不幸的是我无法使其工作,每当我尝试克隆存储库时,都会收到“连接被拒绝”的消息。由于我在代理服务器后面,我认为问题出在那里,但我不知道如何解决。

enter image description here

以下是我迄今为止尝试过的: 我在GitHub上开了一个账户,然后用putty gen生成了一个密钥: enter image description here 我将私钥(2)保存在磁盘上,并将公钥(1)发送到GitHub的SSH密钥处: enter image description here 然后我在克隆阶段使用了私钥,如下所示: enter image description here

这对我没有起作用,所以我尝试使用Cntlm来验证我的代理,并将其设置为指向企业代理。然后我更改了tortoisegit配置,如下所示: enter image description here

但是每当我尝试克隆时,我总是遇到“连接被拒绝”的错误。 Cntlm配置文件如下:

Username    fpollano
Domain      mydomain
PassLM          93D6A9F56CD43B4571101CC5806411F2
PassNT          5FD9AD7F1504A469D994241648972131
PassNTLMv2      7255AE1CBA2511A751F848FC34087011    
#Workstation    netbios_hostname    # Should be auto-guessed

Proxy       192.168.1.5:8080

(我甚至使用明文密码进行检查,结果相同)

有人知道解决办法吗?或者是否有任何方法可以让这些代理在某个地方记录一些日志? 感谢大家!

2个回答

1

在Windows上,如果您使用https协议的GitHub地址进行pull / push操作之前定义了以下环境变量,则会有所帮助:

http_proxy="http://username:password@proxy:port/"
https_proxy="http://username:password@proxy:port/"
HOME=C:\Path\To\HOME

(小写字母http_proxy)

你的%HOME%(在Windows上默认未定义)可以是任何路径,但它必须是包含你的id_rsa.pub和id_rsa文件(你的公钥和私钥)的.ssh的父目录。

在你的%HOME%中,你还需要一个_netrc文件

machine github.com
login loginGitHub
password passwordGitHub

从那里,您将能够克隆您的GitHub存储库:

git clone https://github.com/Login/repo

为了调试这些连接错误,设置 GIT_CURL_VERBOSE=1,并确保您的CApath正确
git config --system http.sslcainfo "C:\path\to\your\git\bin\curl-ca-bundle.crt"

谢谢您的回复。不幸的是,错误仍然存在。顺便问一下,您真的需要在所有这些地方明文输入我的密码吗? - Felice Pollano
@Felice:对于代理和curl,是的,您需要输入密码(一个用于代理,一个用于您的GitHub帐户)。这就是为什么我通常在私有目录中定义一个HOME(Windows HOMEDIR或任何只有我可以访问的网络目录)。关于您的错误,您是否首先尝试通过命令行克隆?如果是,请使用GIT_CURL_VERBOSE=1输出是什么? - VonC
我尝试用Git Bash,输出结果是:ssh: connect to host github.com port 22: Bad file number,致命错误:远程终端意外挂断(无论如何都要+1你的耐心 :) ) - Felice Pollano
好的,我是个蠢货:我发现我从乌龟克隆时没有使用https://,而是git,所以它想使用22号端口。好的,谢谢你的帮助。 - Felice Pollano
1
@Felice:太好了 :) 所以,输出有帮助(这就是为什么我更喜欢先在命令行中进行调试,然后再使用图形工具的原因)。 - VonC

0

我曾遇到过这个问题。我们的系统管理员强制将互联网流量通过代理服务器传输,导致我无法向GitHub推送/拉取文件。我尝试了VonC的解决方案,但都没有任何效果。幸运的是,我们的系统管理员在防火墙上白名单认证github.com,于是我又可以正常使用了。所以在遇到问题时不妨尝试提出询问,也许会意外得到解决方案。:)


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