A veces necesitamos abrirnos una acceso vía SSH para acceder a nuestro dispositivo, pero no podemos redirigir ningún puerto en el router o el firewall. Los accesos pasivos permiten abrir un puerto en un servidor de internet neutro (relay server) con nuestro equipo que se encuentra detrás de ese router o firewall en el que no podemos abrir un puerto. Gracias a este escenario ahora podemos acceder al equipo a través del “relay server”.
Desde un servidor de Internet (en el esquema “relay server”)
Crear un usuario “dummy”: limited-user
Modificar configuración de: /etc/ssh/sshd_config
Match User limited-user
GatewayPorts yes
ForceCommand while true;do echo 'This account can only be used for maintenance purposes';sleep 10;done
https://gist.githubusercontent.com/i40sys/da1a9afbbd9bfa77133c01c6e36c19f5/raw/26f83d37ccc73ea3a977f03136830066e3bfc77e/sshd_config
Los pasos descritos a continuación son ideales para cuando hay que dar un soporte remoto puntual. Vamos a requerir una persona con acceso al “Linux” para poder ejecutar este comando SSH:
Comando a ejecutar desde el equipo remoto (en el esquema aparece como “Linux”)
ssh -R 0.0.0.0:55055:localhost:22 limited-user@IP_RELAY_SERVER
<aside> ⚠️ - debemos usar el password de “limited-user” para establecer la conexión
</aside>
<aside> ℹ️ Se asume que los pasos descritos en el punto anterior funcionan.
</aside>
Instalar el paquete autossh en “Linux”:
apt install autossh
Comando que debemos lanzar como servicio:
autossh -M 0 -N -o StrictHostKeyChecking=no -o ServerAliveInterval=10 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -t -t -R 0.0.0.0:55055:IP_LINUX:22 -p 22 limited-user@IP_SERVIDOR_DO