我有一个可在以下位置公开访问的网络堡垒,example.compute-1.amazonaws.com
以及一个在以下位置的私有postgres数据库实例:postgres.example.us-east-1.rds.amazonaws.com:5432
我可以使用以下方法进入堡垒
$ ssh -i key.pem ec2-user@example.compute-1.amazonaws.com
然后,一旦进入堡垒,我将使用以下命令创建一个ssh隧道:
$ ssh -i key.pem -L 5432:postgres.example.us-east-1.rds.amazonaws.com:5432 ec2-user@example.compute-1.amazonaws.com
然后,我可以通过使用本地主机从堡垒连接到数据库来验证隧道是否正常工作:
$ psql -p 5432 -h localhost -U postgres
但是,我无法远程连接到数据库(没有在堡垒中)。
$ 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?
我已经配置了堡垒的安全组以接受端口5432上的入站流量。
我使用ssh -L
正确吗?我应该在堡垒以外使用它吗?任何建议将不胜感激。