postgresql SSH隧道启用到postgres的连接

xoshrz7s  于 12个月前  发布在  PostgreSQL
关注(0)|答案(1)|浏览(170)

我的Postgres服务器位于无法从我的计算机访问的网络中,因此我们使用SSH隧道来使用HeidiSQL访问它。
我想从我的C#代码连接到它,所以我试图运行ssh -L 3307:dbhost:22来创建隧道,但是,命令输出参数列表,好像命令语法是错误的。
我的本地PC使用Windows 11,我的SSH配置文件(~.ssh\config)如下所示:

Host dbhost
    HostName 11.11.11.11
    User jnunes
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes
    ForwardAgent yes

字符串
通过上面的配置,我可以使用HeidiSQL连接到postgres服务器,并设置如下:

设置选项卡

  • 主机名/IP:127.0.0.1
  • 端口:5432
    SSH通道选项卡
  • SSH可执行文件:ssh.exe
  • SSH主机+端口:dbhost 22
  • 本地端口:3307

但是我不能在Windows上使用ssh.exe命令为任何需要连接到Postgres的软件创建隧道。
我错过了什么?

zazmityj

zazmityj1#

首先,您需要连接到您的服务器:

ssh dbhost

字符串
然后你需要一个psql端口5432的localforward(从服务器的Angular 来看)。

ssh dbhost -L5432:localhost:5432


然后应该有端口5432在您的客户端PC上可见。
现在你可以在你的客户端上连接每一个psql:

psql -h localhost

相关问题