pgcli通过SSH本地转发连接远程服务器上的PostgreSQL DB

远程主机(10.64.1.129)需求:

1. 假设远程主机打开了ssh端口
2. 启动了PostgreSQL,且监听端口为默认的5432
3. 远程主机的postgreSQL DB只允许localhost访问

远程机上lsof显示

本地主机(10.64.71.6)需求:

1. 安装了pgcli
2. 启动命令ssh -qtN -L 10.64.71.6:5432:localhost:5432 10.64.1.129

[ 其中 localhost:5432 是指远程主机10.64.1.129上的5432和127.0.0.1的IP/host ]
在本地主机(10.64.71.6)上执行pgcli访问远程主机(10.64.1.129)的pg DB命令:

pgcli postgres://dtasuser:123123@10.64.71.6:5432/dtasdb

关于SSH -L本地转发

SSH服务器和应用服务器在一起,就是本地就是本地转发
-L [bind_address:]port:host:hostport
(man ssh)This works by allocating a socket to listen to port on the local side, optionally bound to the specified bind_address. Whenever a connection is made to this port, the connection is forwarded over the secure channel, and a connection is made to host port hostport from the remote machine. Port forwardings can also be specified in the configuration file. IPv6 addresses can be specified by enclosing the address in square brackets. Only the superuser can forward privileged ports. By default, the local port is bound in accordance with the GatewayPorts setting. However, an explicit bind_address may be used to bind the connection to a specific address. The bind_address of “localhost” indicates that the listening port be bound for local use only, while an empty address or ‘*’ indicates that the port should be available from all interfaces.

PGCLI下载

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值