Usuario de JumpHost restringido
En ocasiones necesitaremos dar acceso a ciertos recursos en una red desde una máquina de salto ( jumphost, bastion host, stepping stone ), sin que los usuarios tengan una shell interactiva en la misma máquina de salto.
En estos casos podemos utilizar SSH , junto a algunas configuraciones para obtener este resultado.
En primer lugar creamos el usuario de salto, le asignamos una contraseña y le dejamos con una shell restringida, para que en caso de que algo no funcione como debe, el usuario esté completamente aislado del sistema.
useradd jumper --home-dir=/tmp --shell=/bin/rbash
Depués restringiremos sus capacidades también desde el propio servicio de SSH. Añadiremos al fichero /etc/ssh/sshd_config la siguiente sección:
Match User jumper
AllowAgentForwarding no
AllowTCPForwarding yes
X11Forwarding no
PermitTunnel no
GatewayPorts no
ForceCommand echo 'Solo salto! (ssh -J)'
Y reiniciaremos el servicio para aplicar los cambios:
systemctl restart sshd.service
Ahora podremos utilizar este usuario para utilizar la máquina de salto, únicamente compo salto, sin posibilidad de iniciar sesión.
ssh J jumper@bastion usuario@destino