我的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的软件创建隧道。
我错过了什么?
1条答案
按热度按时间zazmityj1#
首先,您需要连接到您的服务器:
字符串
然后你需要一个psql端口5432的localforward(从服务器的Angular 来看)。
型
然后应该有端口5432在您的客户端PC上可见。
现在你可以在你的客户端上连接每一个psql:
型