Problems using gerrit from a client behind proxy [message #898390] |
Thu, 26 July 2012 06:16  |
Eclipse User |
|
|
|
Hi all,
I am a contributor to etrice(Modelling) project. At my institute, I have a restricted internet access only through a proxy. I am facing some serious problems in pushing any new patch to Gerrit code review system through the proxy.
For carrying out the above task, I firstly tried to tunnel SSH over HTTP using corkscrew, following the instructions given at www.mtu.net/~engstrom/ssh-proxy.php . This is what i exactly did :
- Installed corkscrew
- Added ProxyCommand to ssh config
- Added proxy username and proxy authentication password to file ~/.ssh/proxyauth
After this, I was successful in setting up a ssh connecting to github and also push/pull changes to my github repo.
But I am unable to connect to gerrit through ssh. Here is the exact error :
$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
I am using Linux (RHEL 6.3 Beta x86_64) and git 1.7.11.1(latest).
The contents of my ~/.ssh/config are :
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
The verbose (error)result for ssh request to git.eclipse.org is available at pastebin.com/zuMEZePs.
I tried deleting the contents of the known_hosts but this didn't help. What is the reason? Is this a problem at gerrit server?
Also, I have been unable to login to gerrit since long (after I changed my email address). But was still able to upload patches. Is this creating some problem?
I would be highly obliged if someone could help me in resolving this issue.
Thanking you in anticipation.
Regards,
Jayant
[Updated on: Thu, 26 July 2012 06:32] by Moderator
|
|
|
Re: Problems using gerrit from a client behind proxy [message #898864 is a reply to message #898390] |
Sat, 28 July 2012 07:56  |
Eclipse User |
|
|
|
I feel that the problem is due to non-supportive server configuration. This is what I found in a blog-post on web :
Quote:The basic idea is that you will somehow invoke socat(a utility similar to corkscrew), which will negotiate with the HTTP(S) proxy server using the CONNECT method to get you a clean pipe to the server on the far side.
...
Noting that many corporate firewalls block access to the CONNECT method on ports other than 443, the good folks at github have an ssh server listening on 443 if you use the host "ssh.github.com", so you can replace the hostname and the port in the above ssh config stanza as appropriate, and you're all set
The above extract has been taken from :
sitaramc.github.com/tips/git-over-proxy.html#tips_git_over_proxy_ssh_proxy_using_corkscrew_instead_of_socat_
What i feel is, since gerrit is being run on port 29418 and since proxies generally allow access to CONNECT method only for request on port 443 of remote host(server), so the ssh request for gerrit cannot to negotiated at the proxy.
This doesn't happen with github as it serves ssh requests on port 443 and the client utilities (like corkscrew) could negotiate proxies by sending send request on port 443 of the remote server(as done in the snapshot of .ssh/config above).
By the way, am I on the correct forum to ask this question?
|
|
|
Powered by
FUDForum. Page generated in 0.09879 seconds