Hi all,
After a hiatus of a couple of years, I decided to try x2go again, since NX Client from Nomachine doesn't seem to handle an XFCE desktop very well. I was pleasantly surprised, x2go seems to have improved massively and works just beautifully. One thing I am missing however is the ability to establish a session through an HTTP proxy server (using HTTP CONNECT). NX Client 3.x does do this (but it seems it's not possible in the NX Client 4 beta client).
I've done a little bit of research, and it looks like LIBSSH does have some facilities to support a "proxy command":
ssh_options_set(my_ssh_session, SSH_OPTION_PROXYCOMMAND, "command");
"command" in this case would be something like 'corkscrew' or 'proxytunnel'.
http://www.agroman.net/corkscrew/
http://proxytunnel.sourceforge.net/
What are the chances that this SSH_OPTION_PROXYCOMMAND could be integrated into the x2go client? It looks like x2goclient is built using cygwin, and I believe that both corkscrew as well as proxytunnel can be built on cygwin as well. So I wonder if the following additions to x2goclient are possible:
Add the following GUI options to x2go sessions:
On start of a session, if HTTP proxy host+port is specified, use ssh_options_set() with command
corkscrew <proxy host> <proxy port> <remote host> <remote_ip>
(I *think* you can harcode %h and %p for the remote host and remote ip...)
Add corkscrew to the x2goclient distribution
I believe the licenses of x2goclient and corkscrew are compatible (both GPL2).
Interested in your thoughts about this.
Rgds, Maarten
On Sat, May 12, 2012 at 6:30 PM, Maarten Boekhold <boekhold@gmail.com> wrote:
Hi all,
After a hiatus of a couple of years, I decided to try x2go again, since NX Client from Nomachine doesn't seem to handle an XFCE desktop very well. I was pleasantly surprised, x2go seems to have improved massively and works just beautifully. One thing I am missing however is the ability to establish a session through an HTTP proxy server (using HTTP CONNECT). NX Client 3.x does do this (but it seems it's not possible in the NX Client 4 beta client).
I've done a little bit of research, and it looks like LIBSSH does have some facilities to support a "proxy command":
While this proxy command feature is a really cool feature, it has nothing to do with http proxys.
ssh_options_set(my_ssh_session, SSH_OPTION_PROXYCOMMAND, "command");
"command" in this case would be something like 'corkscrew' or 'proxytunnel'.
http://www.agroman.net/corkscrew/ http://proxytunnel.sourceforge.net/
What are the chances that this SSH_OPTION_PROXYCOMMAND could be integrated into the x2go client? It looks like x2goclient is built using cygwin, and I believe that both corkscrew as well as proxytunnel can be built on cygwin as well. So I wonder if the following additions to x2goclient are possible:
- Add the following GUI options to x2go sessions: - HTTP proxy host: takes hostname/ip of your HTTP proxy - HTTP proxy port: takes port of HTTP proxy - HTTP proxy username : for optional authentication - HTTP proxy password : for optional authentication - I'm not sure if corkscrew supports proxy authentication...
- On start of a session, if HTTP proxy host+port is specified, use ssh_options_set() with command
corkscrew <proxy host> <proxy port> <remote host> <remote_ip>
(I *think* you can harcode %h and %p for the remote host and remote ip...)
- Add corkscrew to the x2goclient distribution
I'd suggest rather something else: Use corkscrew to ssh to your x2go server and forward port 22 to your host by using something like this:
ssh -luser -L2222:localhost:22 your.server.somewhere
Now you can use x2goclient to connect to 'localhost' port 2222.
This can be faciliated by a few lines in your ~/.ssh/config and the ProxyCommand option ;-)
Cheers, Reinhard
-- regards, Reinhard
Hi Maarten, hi Reinhard,
On Sa 19 Mai 2012 17:19:47 CEST Reinhard Tartler wrote:
I'd suggest rather something else: Use corkscrew to ssh to your x2go server and forward port 22 to your host by using something like this:
ssh -luser -L2222:localhost:22 your.server.somewhere
Now you can use x2goclient to connect to 'localhost' port 2222.
This can be faciliated by a few lines in your ~/.ssh/config and the ProxyCommand option ;-)
Or alternatively, test the near-to-be-release pyhoca-gui X2Go client
(from the nightly build repositories). PyHoca-GUI has SSH proxy
support built-in.
Mike
--
DAS-NETZWERKTEAM mike gabriel, dorfstr. 27, 24245 barmissen fon: +49 (4302) 281418, fax: +49 (4302) 281419
GnuPG Key ID 0xB588399B mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...