IOSSHy - SSH tunnel spawner
Network
Score 68%
Description:

IOSSHy provides an easy to use desktop tool to quickly create and destroy SSH tunnels and launch commands based on a preconfigured setup.

Password are stored in the keyring provided by the operating system (ES: gnome's keyring, kde's kwallet, osx keychain, etc...)

Usage
When the program is launched, the main interface is hidden and only the icon in the system tray is shown.
By clicking the tray icon, a configuration dialog will appear which allows to specify the tunnel configurations.

A tunnel configuration consists of a name, the remote port that has to be forwarded locally, the local port (leaving this value to 0 will let IOSSHy choose a free high numbered port), an optional command to execute, and the ssh server details (host, port, and username). The password will be asked when needed.

The command line may contain a special string "{port}" (without quotes) that will be replaced by the local port used for the tunnel, making it possible to write commands like this:
rdesktop localhost:{port}


SSH public key authentication methods are supported through the ssh agents provided by each operating system (putty's pageant is supported).

Example use case
Create a SSH tunnel to a remote host on the MySQL port (3306) and launch a program that uses the tunnel to access the database as if it was installed locally.
When the program terminates the tunnel is automatically closed.

Installation
The application should work reasonably well on all the platforms where the dependencies can be satisfied (Linux, *BSD, OSX, Windows, ...),
but at this point has only been tested on Linux operating systems and Windows XP 32bit.

Code
The code is hosted on http://github.com/mtorromeo/iosshy

Clone command::
git clone git://github.com/mtorromeo/iosshy.git


Dependencies
IOSSHy is a python 2.6+ application and it also depends upon the following external libraries:
[li] PyKDE4 (Optional for better KDE4 integration)[/li]
[li] PyQt4 (4.6+)[/li]
[li] python-paramiko[/li]
[li] python-keyring[/li]
[li] python-setproctitle[/li]
[li] PyCrypto (For unix only)[/li]

Build instructions
Before using this applications the Qt forms and icon resources must be compiled.
There is a unix shell script in the root of the distribution package named build.sh that takes care of this process::

cd [source FOLDER]
sh build.sh
chmod 755 bin/iosshy
bin/iosshy


Last changelog:

7 years ago

New in version 1.6
Fixed loading of the autoclose setting

New in version 1.5
Clicking on the tray icon now toggles the configuration dialog visibility
Modified process title to be "iosshy" instead of the generic "python"
Included missing file from sdist (Fixes #6)
Removed problematic unique application check (will return in future versions)

New in version 1.4
Removed PyCrypto requirement on Windows
Implemented check for application already running on KDE
Fixed message "Closing tunnel" being shown multiple times

New in version 1.3
Fixed crash on application quit
Settings are saved as soon as the configuration dialog is closed
Fixed crash in about dialog when main window is hidden

New in version 1.2
Called required Random.atfork in tunnel thread, to ensure RNG thread safety
Suppressed RandomPool deprecation warning (paramiko should fix this)

pvdputte

6 years ago

Hi,

I'm really interested in your application, but ever since I discovered a few years ago how practical it is to use the SOCKS proxy embedded in the SSH client, I quit using tunnels and now do everything using either the native socks support found in e.g. Firefox (tip: FoxyProxy plugin), or the proxychains wrapper which captures all TCP connections a program makes and transparently sends them through a proxy of your choice (i.e. localhost:9050 where ssh's proxy is listening).

Example: thousands of company-internal servers are in a private, firewalled network but you have a public ssh account on a Linux box which can reach all of them.

$ ssh user@company-linuxgw -D 9050
will open an ssh session and your local ssh client starts listening on :localhost:9050 for socks requests. If you configure Firefox for this socks proxy, you can reach e.g. all company-internal webservers.

$ proxychains scp /some/file user@othercompanyserver:/some/path

Will scp the file from localhost to othercompanyserver through the socks proxy, hence through company-linuxgw

I haven't yet come across a program using TCP-connections that proxychains couldn't handle.

Using plain ssh tunnels I would need to define thousands of them because we have so many servers. Not practical.

If you could somehow enable "-D 9050" that would be a really nice addition. For now, I'm back to the ssh -D 9050 session in konsole :-)

P.S. putty also has SOCKS support IIRC

Report

C

mtorromeo

6 years ago

This is a very interesting feature but I am not using the system ssh client. I have to check if I can obtain this same functionality using the paramiko ssh library.

Report

virgolus

6 years ago

In kubuntu 10.10 also need this package:
"python-setproctitle".

Report

C

mtorromeo

6 years ago

Yeah, sorry. It is listed in the README.

I'm going to updated the page right now.

Report

allistar

7 years ago

This seems to be a very useful application, especially for those of us who make a lot of use of forwarded ports. For my usage though I have an alias which connects to the remote ssh server and forwards multiple ports at one - often up to 6 at a time. Is there any way, or any plans to extend this to support that?

Report

C

mtorromeo

7 years ago

I never had a need for such a feature but I can look into it.
Maybe I can add the possibility to group more rules together to start and stop all of them at once.

Report

7 years ago

New in version 1.6
Fixed loading of the autoclose setting

New in version 1.5
Clicking on the tray icon now toggles the configuration dialog visibility
Modified process title to be "iosshy" instead of the generic "python"
Included missing file from sdist (Fixes #6)
Removed problematic unique application check (will return in future versions)

New in version 1.4
Removed PyCrypto requirement on Windows
Implemented check for application already running on KDE
Fixed message "Closing tunnel" being shown multiple times

New in version 1.3
Fixed crash on application quit
Settings are saved as soon as the configuration dialog is closed
Fixed crash in about dialog when main window is hidden

New in version 1.2
Called required Random.atfork in tunnel thread, to ensure RNG thread safety
Suppressed RandomPool deprecation warning (paramiko should fix this)

product-maker schleby Mar 06 2011

product-maker Freol Nov 04 2010

product-maker 6 18

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
1.6
updated Mar 02 2011
added Feb 04 2010
downloads today
0
page views today 1