Gio*_*ini 4 postgresql linux database odbc ssh-tunnel
我已经成功地在本地 linux 服务器上创建了一个到我们的云 postgresql 服务器的 SSH 隧道,使用以下命令:
ssh -N -f -L 5431:localhost:xxxx mycloudserver.com
Run Code Online (Sandbox Code Playgroud)
(其中 xxxx 是远程端口)
使用这个命令我可以通过端口 5431 访问远程 PostgreSQL 数据库,但只能在这个 linux 服务器上。
现在我想与网络上的其他PC“共享”此连接,以便我可以使用ODBC驱动程序连接到linux_server:5431并读取云数据库,而无需在客户端上安装任何SSH软件。使用 iptables 打开端口 5431 不起作用。
iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 192.168.128.5 --dport 5431 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -s 192.168.128.5 --sport 5431 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
已经试过了
ssh -N -f -L 5431:0.0.0.0:xxxx mycloudserver.com
Run Code Online (Sandbox Code Playgroud)
也。隧道已成功构建并在服务器上运行,但我无法“看到”来自客户端的连接。
您需要修改您的命令以指定 bind_address ,如:
ssh -N -f -L 0.0.0.0:5431:localhost:xxxx mycloudserver.com
Run Code Online (Sandbox Code Playgroud)
这将使它侦听所有接口。要验证,请使用:
netstat -lnp | grep 5431
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7356 次 |
| 最近记录: |