Mam bastion sieciowy, który jest publicznie dostępny example.compute-1.amazonaws.com
i prywatną instancję bazy danych postgres wpostgres.example.us-east-1.rds.amazonaws.com:5432
Mogę użyć ssh do bastionu
$ ssh -i key.pem ec2-user@example.compute-1.amazonaws.com
Potem, gdy jestem w bastionie, tworzę tunel ssh z:
$ ssh -i key.pem -L 5432:postgres.example.us-east-1.rds.amazonaws.com:5432 ec2-user@example.compute-1.amazonaws.com
Następnie mogę sprawdzić, czy tunel działa, łącząc się z bazą danych z bastionu za pomocą localhost:
$ psql -p 5432 -h localhost -U postgres
Nie mogę jednak połączyć się z bazą danych zdalnie (bez bastionu).
$ 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?
Skonfigurowałem grupę zabezpieczeń bastionu, aby akceptowała ruch przychodzący na porcie 5432.
Czy używam ssh -L
poprawnie? Czy powinienem używać go poza bastionem? Wszelkie porady będą mile widziane.