sidedoor - SSH connection daemon
sidedoor [SSH options] [user@]hostname
sidedoor maintains an SSH connection or tunnel with a shell script daemon.
The primary use case is maintaining a remote port forward to the local SSH server (or another port). Thus, the local device can be accessed without using incoming connections that may be blocked by a NAT or firewall or otherwise impractical with mobile devices.
SSH clients can connect to the device via the reverse SSH proxy that sidedoor tunnels to. This proxy server can be untrusted and run by a third party or cloud service.
sidedoor enables SSH keepalives and retries SSH with exponential backoff. In order to reconnect as soon as possible, it resets the backoff when a network interface is brought up (or changed).
SIGUSR1 resets the retry backoff, immediately retrying ssh(1) if it is not currently running.
|Arguments to pass to sidedoor when run as a service. See ssh(1).|
|SSH client configuration file.|
|SSH private key to access the remote server.
ssh-keygen(1) can generate this key (press y when prompted to overwrite the existing file):
$ sudo ssh-keygen -t rsa -N ’’ -f /etc/sidedoor/id_rsa
The corresponding public key id_rsa.pub will need to be included in the remote user’s ~/.ssh/authorized_keys file.
|SSH host key of the remote server.|
|Optionally, SSH public key(s) with remote access to the local sidedoor user.
This is a symlink to ~sidedoor/.ssh/authorized_keys. The sidedoor-sudo package provides full root access to this user.
|Sends SIGUSR1 to reset the retry backoff on network state changes.|