SSH
SSH is great.
SSH is susceptible to brute-force attacks. pam_abl is one solution.
Public Key Authentication
See SSH Public Key Authentication.
Tunneling
SSH can do tunneling.
See https://blog.linuxnet.ch/automatic-tunnels-with-xinetd-and-netcat/ for a way to do tunneling automatically. It uses xinetd to bind a port to a program.