Eu tenho um bastião de rede que é acessível publicamente em example.compute-1.amazonaws.com
e uma instância de banco de dados privada do postgres empostgres.example.us-east-1.rds.amazonaws.com:5432
Eu posso ssh no bastião usando
$ ssh -i key.pem ec2-user@example.compute-1.amazonaws.com
Então, quando estou no bastião, crio um túnel ssh com:
$ ssh -i key.pem -L 5432:postgres.example.us-east-1.rds.amazonaws.com:5432 ec2-user@example.compute-1.amazonaws.com
Posso então verificar se o túnel funciona conectando-se ao banco de dados a partir do bastião usando localhost:
$ psql -p 5432 -h localhost -U postgres
No entanto, não consigo me conectar ao banco de dados remotamente (sem estar no bastião).
$ psql -p 5432 -h example.compute-1.amazonaws.com -U postgres
psql: could not connect to server: Connection refused
Is the server running on host "example.compute-1.amazonaws.com" () and accepting
TCP/IP connections on port 5432?
Eu configurei o grupo de segurança do bastião para aceitar o tráfego de entrada na porta 5432.
Estou usando ssh -L
corretamente? Devo usá-lo fora do bastião? Qualquer conselho seria muito apreciado.