Tengo la siguiente configuración en mi red:
Internet <--> Bastion <--> Local Network
Tengo varios usuarios y cada usuario está asignado a una máquina específica. O en otras palabras: cada usuario debe tener acceso solo a uno de esos servidores. Por ejemplo: Usuario1 -> Máquina1, Usuario2 -> Máquina2 y así sucesivamente.
Esos usuarios se conectarán desde el exterior de mi red y he considerado muchas opciones sobre cómo reenviar sus conexiones a través de mi servidor bastion a mi red.
Finalmente, opté por Match Blocks y forcecommand.
Entonces, mi / etc / ssh / sshd_config en bastion se ve así:
Match User User1
ForceCommand ssh User1@Machine1 $SSH_ORIGINAL_COMMAND
El Usuario1 se conecta al host del bastión que establece automáticamente una conexión con la Máquina1.
Por lo que entendí ForceCommand, Usuario1 no tendrá ningún acceso real al host del bastión, porque todas sus operaciones serán manejadas primero por el bloque de coincidencias, por lo tanto redirigido a Máquina1. Sin embargo, ¿es esto realmente cierto? ¿Ya es suficiente para ser una configuración segura? El usuario está encarcelado en Machine1 de todos modos, por lo que no tendrá muchas posibilidades allí.