我正在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/config
( notepad %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存储库中获取? (重复!)