Autossh

# install pkg
> dnf install autossh

# create keypair without password
> ssh-keygen -t ed25519 (without pw)

restrict access in targets authorized_keys file

~/.ssh/authorized_keys
command="echo 'Tunnel only!'" ssh-rsa AAA....

Lets pipe the remote address localhost:2233 to port 2222 locally:

test tunnel connection
> autossh -M 30360 -N \
    -R 2222:localhost:2233 \
    -o "ServerAliveInterval 30" \
    -o "ServerAliveCountMax 3" \
    -p22 \
    vm@x33u.xyz
crontab: /etc/cron.d/autossh
@reboot autossh -M 30360 -N -R 22:localhost:2233 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -p22 vm@x33u.xyz
/etc/systemd/system/tunnel.service
[Unit]
Description=SSH tunnel service
After=network.target network-online.target sshd.service

[Service]
ExecStart=/usr/bin/autossh -M 30360 -N -R 2222:localhost:2233 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -p22 vm@x33u.xyz -i /home/vm/.ssh/id_rsa

[Install]
WantedBy=multi-user.target