SshLink
Easy port-forwarding through SSH tunnels

General
Home
Download
Documentation
Contact
 
Development
Project page
CVS access
Bug reports

SYNOPSIS

sshlink [OPTIONS] [HOSTS]

DESCRIPTION

A well-known method to connect a host that remains behind a firewall is using a SSH back-link with a remote port forwarding. While that's a fairly simple task, sshlink makes it simplier to configure.

You can use both password and RSA+passphrase authentification schemes. You can enable remote logging to know about sshlink connections and available port forwarding. Additionally, you can run scripts automatically on the local and remote machine every time a connection or still-alive check is spawned.

You can configure multiple hosts and enabled them individually. If no host is given in HOSTS argument, it will connect to those with the connect option enabled in the configuration.

Sshlink is written in Python and uses the handy Pexpect module to interface with ssh.

OPTIONS

-d, --debug

Output debug messages (very verbose)

-b, --background

Run in background as daemon.

-t host, --test-host=HOST

Connect to a host and exit

-c FILE, --configuration-file=FILE

Use an alternative configuration file.

-p FILE, --pidfile=FILE

Use an alternative pidfile

CONFIGURATION FILE

It's located at /etc/sshlink.conf. The options must be written inside a [section] with the format option = value. Default values, if needed, should be included inside the [default] section. Other sections are considered hosts; sshlink will connect by default to all the hosts where the connect option is enabled.

ssh_command = COMMAND

SSH command

ssh_args = ARGUMENTS

Arguments to follow SSH command

connect = boolean

Connect to host when sshlink is started

remote_logging = facility.level

Write logs in remote host using logger. Leave it void or commented to disable logging.

password = string

Password to use in password-authentification mode. Be careful, if you enable that option, chmod the configuration file to 600.

passphrase = string

Passphrase to use in RSA authentification mode. Again, be careful with file permissions.

log_time = seconds

Time interval to write log info in remote host.

checkalive_time = seconds

Time interval to check if SSH link is still alive.

run_{local,remote}_at_connection = executable

Run program at local/remote machine when a sshlink connection is started

run_{local,remote}_at_checkalive = executable

Run program at local/remote machine every checkalive_time.

FILES

/etc/sshlink.conf - Default configuration file

/var/run/sshlink.pid - Default pidfile

/var/log/daemon.log - Default log file in remote host

AUTHOR

Written by Arnau Sanchez, <arnau@ehas.org>

SEE ALSO

ssh(1), sshd(1), logger(1)

COPYING

Copyright (C) 2006-2007 Arnau Sanchez. Free use of this software is granted under the terms of the GNU General Public License (GPL).