我有一个可公开访问的网络堡垒example.compute-1.amazonaws.com和一个私有的 postgres 数据库实例postgres.example.us-east-1.rds.amazonaws.com:5432
我可以使用 ssh 进入堡垒
$ ssh -i key.pem ec2-user@example.compute-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
然后,一旦我进入堡垒,我就会创建一个 ssh 隧道:
$ ssh -i key.pem -L 5432:postgres.example.us-east-1.rds.amazonaws.com:5432 ec2-user@example.compute-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
然后,我可以通过使用 localhost 从堡垒连接到数据库来验证隧道是否正常工作:
$ psql -p 5432 -h localhost -U postgres
Run Code Online (Sandbox Code Playgroud)
但是,我无法远程连接到数据库(不在堡垒中)。
$ 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?
Run Code Online (Sandbox Code Playgroud)
我已将堡垒的安全组配置为接受端口 5432 上的入站流量。
我使用ssh -L正确吗?我应该在堡垒外使用它吗?任何建议将不胜感激。
当我通过 SSH 连接到服务器时,我经常需要搜索日志。我知道有类似的命令grep可以帮助我。但我需要找到某些术语并查看这些行周围的日志,这对于仅使用命令来说是一个巨大的痛苦。
是否有任何 SSH 客户端可以让我本质上只需按 ctrl+f 并在日志中搜索特定命令?
谢谢