Eu tenho a seguinte configuração na minha rede:
Internet <--> Bastion <--> Local Network
Eu tenho vários usuários e cada usuário é atribuído a uma máquina específica. Ou, em outras palavras: cada usuário deve ter apenas acesso a um desses servidores. Por exemplo: Usuário1 -> Máquina1, Usuário2 -> Máquina2 e assim por diante.
Esses usuários se conectam de fora da minha rede e eu considerei muitas opções de como encaminhar suas conexões através do meu host bastião para a minha rede.
Por fim, optei por Match Blocks e forcecommand.
Portanto, meu / etc / ssh / sshd_config no bastion fica assim:
Match User User1
ForceCommand ssh User1@Machine1 $SSH_ORIGINAL_COMMAND
O Usuário1 se conecta ao host bastião, que estabelece automaticamente uma conexão com a Máquina1.
Tanto quanto eu entendi o ForceCommand, o Usuário1 não terá acesso real ao host do bastião, porque todas as suas operações serão tratadas primeiro pelo bloco de correspondências e, portanto, redirecionadas para a Máquina1. No entanto, isso é realmente verdade? Isso já é suficiente para ser uma configuração segura? O usuário está preso na Machine1 de qualquer maneira, então ele não terá muitas possibilidades lá.