La idea de usar redireccion es para que unicamente abras en el router el puerto 22 y lo redirijas a tu servidor. Todos los demas puertos cerrados. Y si quieres acceder a cualquier otro servicio del servidor, pues creas un tunel. O tambien puedes crearlo para acceder a otro equipo.
Por ejemplo ... suponemos:
IPs privadas:
router: 192.168.1.1 (con el 80 abierto para la red privada y el 22 redirigido al servidor)
servidor: 192.168.1.20 (con linux y el 22 y el 80 abierto)
pc: 192.168.1.100 (con windows y el 139 abierto)
IP publica del router:
195.195.195.195
Nuestros accesos son todos DESDE FUERA DE LA RED PRIVADA y a traves de Internet.
Para acceder por ssh al servidor:
ssh 195.195.195.195
Seria una conexion SSH normal y corriente
Para acceder a la web del router, como si estuvieras dentro de la red:
ssh -L 8080:192.168.1.1:80 195.195.195.195
Accederias como
http://localhost:8080 y lo que hacemos es crear un tunel con el servidor
Para acceder a la web del servidor, como si estuvieras dentro de la red:
ssh -L 8080:192.168.1.20:80 195.195.195.195
Accederias como
http://localhost:8080 y lo que hacemos es crear un tunel con el servidor
Para acceder al 139 del pc con windows:
ssh -L 139:192.168.1.1:139 195.195.195.195
con samba podremos acceder a localhost y en realidad estaremos en el PC con windows de la red privada
Para aclarar como funciona:
X:IP_PRIVADA:Y
X es el puerto virtual que crearemos en localhost
IP_PRIVADA es a la que queremos acceder
Y: es el puerto abierto en la IP_PRIVADA
Lo que hace esto es que conectandonos a localhost:X en realidad accedemos a IP_PRIVADA:Y
Y para acceder nos connectamos, autenticamos y creamos un tunes a traves de 195.195.195.195 que es la IP publica del router que nos lleva al servidor (dado que el puerto 22 del router esta redirigido al servidor.
entiendo lo que tu dices pero no es eso lo que se quiere lograr, ojala se entienda mejor mirando este post