Tengo un bastión de red al que se puede acceder públicamente example.compute-1.amazonaws.com
y una instancia de base de datos privada de postgres enpostgres.example.us-east-1.rds.amazonaws.com:5432
Puedo entrar al bastión usando
$ ssh -i key.pem ec2-user@example.compute-1.amazonaws.com
Luego, una vez que estoy en el bastión, creo un túnel ssh con:
$ ssh -i key.pem -L 5432:postgres.example.us-east-1.rds.amazonaws.com:5432 ec2-user@example.compute-1.amazonaws.com
Luego puedo verificar que el túnel funciona al conectarme a la base de datos desde el bastión usando localhost:
$ psql -p 5432 -h localhost -U postgres
Sin embargo, no puedo conectarme a la base de datos de forma remota (sin estar en el bastión).
$ 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?
He configurado el grupo de seguridad del bastión para aceptar el tráfico entrante en el puerto 5432.
¿Estoy usando ssh -L
correctamente? ¿Debo usarlo fuera del bastión? Cualquier consejo sería muy apreciado.