You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 11下创建SSH隧道连接PostgreSQL失败:命令语法问题求助

解决SSH隧道创建失败的问题

你的ssh -L 3307:dbhost:22命令存在语法错误,本地端口转发的正确格式为:

ssh -L [本地端口]:[目标主机]:[目标端口] [SSH服务器]

命令错误原因

  1. 混淆了SSH服务器端口与目标服务端口:你把SSH连接的端口(22)当成了Postgres服务的端口,而实际需要转发的是Postgres的默认端口5432
  2. 缺少SSH服务器参数:命令末尾未指定要连接的SSH主机(即你配置文件中的dbhost)

正确的隧道创建命令

结合你的HeidiSQL配置,正确命令应为:

ssh -L 3307:localhost:5432 dbhost
  • -L 3307:localhost:5432:将本地3307端口的请求,转发到SSH服务器(dbhost对应11.11.11.11)本机的Postgres服务(localhost:5432)
  • dbhost:调用你~/.ssh/config中预定义的SSH配置,自动使用指定的IP、用户名和密钥文件建立连接

如果需要让隧道在后台运行,可添加-fN参数:

ssh -fN -L 3307:localhost:5432 dbhost

验证隧道有效性

执行命令后,可通过Postgres客户端测试连接:

psql -h 127.0.0.1 -p 3307 -U [你的Postgres用户名] [目标数据库名]

连接成功后,即可在C#代码中使用127.0.0.1:3307作为Postgres服务器地址进行连接。

内容的提问来源于stack exchange,提问作者juliano.net

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 09:52:39