在我的研究所,我只能通过代理访问互联网。我在建立与 Gerrit 代码审查系统 (git.eclipse.org) 的 ssh 连接时遇到了一些严重问题,因此无法向 Gerrit 推送任何新补丁。
为了执行上述任务,我首先尝试使用开瓶器通过 HTTP 隧道 SSH,按照此处给出的说明, 这就是我所做的:
- 安装好的开瓶器
- 将 ProxyCommand 添加到 ssh 配置
- 在文件 ~/.ssh/proxyauth 中添加了代理用户名和代理认证密码
在此之后,我成功地设置了一个连接到 github 的 ssh,并将更改推/拉到我的 github 存储库。
但是我无法通过 ssh 连接到 gerrit。这是确切的错误:
$ssh -p 29418 jgupta@git.eclipse.org
Proxy could not open connnection to git.eclipse.org: Forbidden
ssh_exchange_identification: Connection closed by remote host
我正在使用 Linux(RHEL 6.3 Beta x86_64)和 git 1.7.11.1(最新)。
我的 ~/.ssh/config 的内容是:
Host github.com
Hostname ssh.github.com
Port 443
ProxyCommand corkscrew 202.141.80.22 3128 %h %p ~/.ssh/proxyauth
Host *
ProxyCommand corkscrew 202.141.80.22 3128 %h %p ~/.ssh/proxyauth
对 git.eclipse.org 的 ssh 请求的详细(错误)结果是:
penSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
debug1: Reading configuration data /home/jayant/.ssh/config
debug1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Executing proxy command: exec corkscrew 202.141.80.22 3128 git.eclipse.org 29418 ~/.ssh/proxyauth
debug1: permanently_drop_suid: 500
debug1: identity file /home/jayant/.ssh/identity type -1
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug2: key_type_from_name: unknown key type 'Proc-Type:'
debug2: key_type_from_name: unknown key type 'DEK-Info:'
debug2: key_type_from_name: unknown key type '-----END'
debug1: identity file /home/jayant/.ssh/id_rsa type 1
debug1: identity file /home/jayant/.ssh/id_dsa type -1
Proxy could not open connnection to git.eclipse.org: Forbidden
ssh_exchange_identification: Connection closed by remote host
在我的 git repo 中设置的远程 url 是:
$git remote -v
origin http://git.eclipse.org/gitroot/etrice/org.eclipse.etrice.git (fetch)
origin http://git.eclipse.org/gitroot/etrice/org.eclipse.etrice.git (push)
review ssh://jgupta@git.eclipse.org:29418/etrice/org.eclipse.etrice.git (fetch)
review ssh://jgupta@git.eclipse.org:29418/etrice/org.eclipse.etrice.git (push)
几天前,当我可以直接访问互联网时,我能够通过 ssh 连接并推送我的补丁,使用上述远程设置。
我尝试删除 known_hosts 的内容,但这没有帮助。
这是gerrit服务器的问题吗?
在此先感谢您的帮助。