Secure connections to remote server by automatically setting a SSH tunnel.

Registered by Clément Lorteau

A SSH tunnel is mounted automatically and all communications with the server are directed through it. This way, instead of having http connections with a possibly weak password and a hardcoded username and exposing to the internet the possibly weak implementation of http used in http rpc implementation, you expose a SSH server, and the client and server mutually authenticate themselves via the use of RSA keys.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

I'm going to describe how it works in remote hellanzb gui.

In the server properties dialog, the user ticks "use SSH port forwarding", fills the SSH user name of the remote server, and either inputs a password or ticks "use key pair". See screenshot [1] for an idea of the server properties dialog. Remote hellanzb gui then does the usual hosts keys checking stuff, and if these are OK, automatically sets up a SSH port forwarding server.

When the SSH tunnel is up, a key icon is added to the GUI. See screnshot [2] (next to the amount downloaded label).

From there, all requests done to localhost:<hellanzb_port> will go through the SSH tunnel to reach remote hellanzb server. The remote hellanzb server only sees connection coming from localhost, and a potential sniffer in the middle will only see SSH encrypted communications. So when the backend is requested to do a call, it does these to localhost. All this is transparent to the user.

This behavior is what I offer to add to LottaNZB. I guess you should try to use remote hellanzb gui to see how it actually feels to the user. You could also see the code [3] of SSH.py in remote hellanzb gui.

[1] http://sourceforge.net/project/screenshots.php?group_id=246092&ssid=95926
[2] http://sourceforge.net/project/screenshots.php?group_id=246092&ssid=95927
[3] http://bazaar.launchpad.net/~northern-lights/remote-hellanzb-gui/trunk/annotate/head%3A/remotehellanzbgui/ssh.py

----
Clément Lorteau, 20090906:
I'm sorry to admit that I thought I could find the time to work on this but didn't. My job and my new born baby left me with too little free time for coding.

So i'm sad to say i'm removing myself from the team. Please keep up the good work guys ! :)

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.