SSHLINK(1)
==========
Arnau Sanchez <arnau@ehas.org>

NAME
----
sshlink - Create a SSH backlink to connect to a host behind a firewall

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).
