SSH在git后面的代理在Windows 7上

我正在testingSSH连接来检查混帐中的RSA密钥。 我正在通过代理服务器工作。 我正在使用窗口7,并已安装msysGit-fullinstall-1.7.3.1-preview20101002。 现在在msys.exe窗口我已经设置代理的命令'gitconfiguration – 全球http.proxy http://主机:端口 '之后,我已经尝试命令'ssh git@github.com'。 这给了我错误,如'ssh:github.com:没有地址与名称关联'

我该怎么办?

设置http.proxy将不适用于ssh。 你需要代理你的SSH连接。 看到这个描述。 总结:

启动git-cmd.bat并创建~/.ssh/confignotepad %home%\.ssh\config.

 ProxyCommand /bin/connect.exe -H proxy.server.name:3128 %h %p Host github.com User git Port 22 Hostname github.com IdentityFile "C:\users\username\.ssh\id_rsa" TCPKeepAlive yes IdentitiesOnly yes Host ssh.github.com User git Port 443 Hostname ssh.github.com IdentityFile "C:\users\username\.ssh\id_rsa" TCPKeepAlive yes IdentitiesOnly yes 

(设置正确的代理主机名:端口,路径为id_rsa。当你使用git-bash时,在id_rsa的路径中使用斜杠)
(我的msysgit版本包括connect.exe ,所以我不需要下载和编译connect.c )。 预编译的exe也可以在这里找到 。

现在ssh github.com应该可以工作

请注意,如果要通过socks5代理进行连接,请将-H更改为-S

 ProxyCommand connect -S proxy.server.name:1080 %h %p 

如果使用Linux文件系统, ~/.ssh/config的文件权限必须为600,但在标准的NTFS windows分区上,这些权限不存在。

如果您的代理需要NTLM身份验证,则可以使用cntlm ,另请参阅此答案 。

你的代理是否需要密码? 那可能就是这样。

export http_proxy="http://<domain>\<username>:<password>@<server>:<port>"

请参阅: 如何通过HTTP代理从Git存储库中获取? (重复!)