Eu tenho este pequeno script mantido em ~/bin/infinite_ssh (1):
#! /bin/bash -x
#
while :; do
ssh -R 2222:localhost:22 remoteserver sleep 86400
sleep 10
done
isso está se conectando ao remoteserver e cria um túnel para trás para que no servidor remoto eu possa ssh meu desktop usando ssh -p 2222 localhost . Seu aplicativo pode, obviamente, variar. O remoteserver é definido em ~/ssh/config para que você possa efetuar login sem uma senha e tenha a opção KeepAlive on .
Então você pode chame de /etc/rc.local com
su -l youruser -c /home/youruser/bin/infinite_ssh &
para que ele comece como seu usuário no momento da inicialização, em segundo plano.
Notas de rodapé:
(1) obviamente, você precisa dar a permissão de execução do script ... chmod a+x ~/bin/infinite_ssh .