Embora o SSH seja considerado seguro, isso faz muito sentido. Você provavelmente não deseja que seus servidores de back-end (banco de dados, servidores de arquivos, CI / CD etc.) sejam acessados publicamente de qualquer maneira. Então, suponho que você já tenha uma rede privada para o seu back-end ou receba uma a longo prazo. Como nesse momento você terá servidores que só são acessíveis através da rede privada, você precisaria de alguma forma de se conectar a esses servidores.
Uma maneira é criar uma VPC, a outra é criar um host de bastiões SSH que não faça nada além de executar o SSH. Esse host bastião, ou servidor de salto, seria acessível publicamente, mas também conectado à rede privada. Você pode então usar o encaminhamento de SSH para usar esse host para se conectar a todos os outros hosts na rede privada.
Você pode usar o encapsulamento SSH ou o encaminhamento de agente SSH. A AWS tem uma postagem no blog sobre isso . Aqui está a essência:
-
ssh –A user@<bastion-IP-address or DNS-entry>
- Assim que a conexão com o bastião do bastidor for concluída, você poderá se conectar a instâncias na rede privada:
ssh user@<instance-IP-address or DNS-entry>
Dessa forma, todas as chaves privadas SSH permanecem em sua máquina, você não precisa colocá-las no host bastion.