Skip to content
This repository has been archived by the owner on Oct 5, 2018. It is now read-only.

mtorromeo/iosshy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IOSSHy - SSH tunnel spawner

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:

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.

Packages

The following packages are available:

The code is hosted on github

Clone command:

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

Dependencies

IOSSHy is a python 3 application and it also depends upon the following external libraries:

  • PyKDE4 (Optional for better KDE4 integration)
  • PyQt4
  • paramiko
  • keyring
  • setproctitle
  • PyCrypto (For unix only)

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

CHANGELOG

New in version 1.7
  • Implemented remote host configuration
  • Use system icons on KDE
  • Implemented Active/Passive tray states in KDE
  • Allow application to be restored from an earlier session
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)

LICENSE

Copyright (c) 2010-2011 Massimiliano Torromeo

IOSSHy is free software released under the terms of the BSD license.

See the LICENSE file provided with the source distribution for full details.

Contacts

About

Desktop tool to quickly setup SSH tunnels and automatically execute commands that make use of them

Resources

License

Stars

Watchers

Forks

Packages

No packages published