I am have a remote machine behind a firewall that I wish to connect to through SSH. As far as I understand this can be achieved by using a reverse ssh tunnel.
So the command I am using is
ssh -N -f -R 0.0.0.0:1234:localhost:22 -i /home/username/.ssh/id_rsa.pub username@remote-server.com
My main problem is that I want to execute this command whenever the computer starts so that the computer is accessible after a reboot.
I tried to use cron by adding the command both my user's crontab and in /etc/cron
. However the problem I have is that both commands are asked for a password. I have created the id_rsa.pub
file and sent it to the remote-server but still it does not seem to work.
If I am logged in (e.g. through teamviewer) I can run the command and no password is asked. If I run the command as root (sudo
) the (empty) password for the rsa file is asked. I suspect that my problem is here, i.e., when cron executes the command ssh asks for the password and the command hangs.
I have tried using both my user's rsa file and the root's rsa file and with none of them I manage to connect.