Descripción
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”.

Configuración 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
Asistencia puntual:
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_SERVERPuerta trasera siempre activa:
Opción 1. Comando autossh
- 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
Opción 2. Contenedor Docker de autossh
docker-compose.yml
version: '3.7'
services:
ssh-sabat-iot-gw:
image: jnovack/autossh
container_name: autossh
environment:
- SSH_REMOTE_USER=limited-user
- SSH_REMOTE_HOST=IP_SERVIDOR_DO
- SSH_REMOTE_PORT=22
- SSH_BIND_IP=0.0.0.0
- SSH_TUNNEL_PORT=55055
- SSH_TARGET_HOST=IP_LINUX
- SSH_TARGET_PORT=22
restart: unless-stopped
volumes:
- /root/.ssh/id_rsa:/id_rsa
dns:
- 8.8.8.8
