Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Nesse tutorial vamos ensinar como fazer para acessar um servidor via SSH de uma rede interna (que não esteja exposto a internet) de um túnel com um servidor intermediário que esteja exposto a internet.
Para que a explicação fique mais clara, vamos nomear nossos principais componentes:
No diagrama abaixo demonstramos um exemplo de cenário:
Algumas premissas são necessárias para que a conexão funcione corretamente, são elas:
Para nossa conexão vamos usar o terminal do Linux, mas se você estiver no Windows pode usar o Bash do Git, Putty ou o terminal do WSL.
Execute o comando abaixo no terminal substituindo as informação as informações pelos devidos valores:
ssh -L <Porta-Cliente>:<IP-Servidor-Destino>:<Porta-Servidor-Destino> -i "caminho-completo-chave.pem" <Usuarion-Bastion>@<IP-Bastion>
TerminalPara exemplificar vamos atribuir alguns IPS ao nosso diagrama para facilitar o entendimento:
Agora vamos fazer a conexão utilizando esses IPs como exemplo:
ssh -L 5000:10.0.17.2:80 -i chave.pem root@52.90.163.52
TerminalNo exemplo acima estamos disponibilizando na porta 5000 da nossa maquina uma aplicação que está sendo executada na porta 80 do Servidor de Destino, um requisição que eu precisaria fazer nesse servidor na porta 80, posso fazer para http://localhost:5000.
Nesse exemplo funciona também conexões com banco de dados, basta substituir as informações do servidor do banco e a porta que o banco opera.
Na execução do comando pode ser usado o endereço DNS no lugar dos IPs.