Предлагаю через systemd. Создай файл вида
/etc/systemd/system/ssh_tunnel.service
Примерное содержимое:
[Unit]
Description=SSH tunnel
After=syslog.target network.target
[Service]
Type=forking
User=user
ExecStart=/usr/bin/ssh -i /home/user/.ssh/key -N -T -L 127.0.0.1:51143:192.168.5.5:143 -o MACs=hmac-sha2-512-etm@openssh.com user@host
ExecStop=/bin/kill $MAINPID
ExecReload=/bin/kill $MAINPID && /usr/bin/ssh -i /home/user/.ssh/key -N -T -L 127.0.0.1:51143:192.168.5.5:143 -o MACs=hmac-sha2-512-etm@openssh.com user@host
Restart=on-failure
[Install]
WantedBy=multi-user.target
Обновляем информацию systemd:
systemctl daemon-reload
Стартуем сервис:
systemctl start ssh_tunnel.service
Смотрим его статус:
systemctl status ssh_tunnel.service
Если все в порядке, включаем его в автозагрузку:
systemctl enable ssh_tunnel.service