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 firstname.lastname@example.org
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.