我正在测试SSH连接以检查git中的RSA密钥。 我正在代理服务器上工作。 我正在使用Windows 7并安装了msysGit-fullinstall-1.7.3.1-preview20101002。 现在在msys.exe窗口中我已经通过命令'git config --global http.proxy http://host:port'设置了代理 之后我尝试了命令'ssh git@github.com'。 这给了我像'ssh:github.com这样的错误:没有与名称'
相关联的地址我该怎么办?
答案 0 :(得分:44)
设置http.proxy
不适用于ssh。您需要代理您的ssh连接。请参阅this说明。总结一下:
开始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
(设置正确的代理主机名:port,以及id_rsa的路径。当你使用git-bash时,在id_rsa的路径中使用斜杠)
(我的msysgit版本包含connect.exe
,因此我无需下载和编译connect.c)。预编译的exe也可用here。
现在ssh github.com
应该有效
请注意,如果您想通过socks5代理进行连接,请将-H
更改为-S
。
ProxyCommand connect -S proxy.server.name:1080 %h %p
如果使用Linux文件系统,~/.ssh/config
的文件权限必须为600,但在标准NTFS Windows分区上,这些权限不存在。
如果您的代理需要NTLM身份验证,则可以使用cntlm,另请参阅this answer。
答案 1 :(得分:-1)
您的代理是否需要密码?那可能是那样。
export http_proxy="http://<domain>\<username>:<password>@<server>:<port>"
请参阅:How do I pull from a Git repository through an HTTP proxy?(重复!)