前提
终端里能直接登录目标服务器(密钥或 ssh-agent 已配好):
ssh dev "echo ok"
能打印 ok 就够了。只能用密码也没关系,应用会弹框询问。
五步
- 新建转发:点右上角「新建转发」。
- 选 Host:下拉来自
~/.ssh/config的Host别名,例如dev。 - 填远程地址:远程主机默认
localhost,远程端口填要访问的服务,比如 PostgreSQL 的5432。 - 填本地端口:默认跟随远程端口,也可以改成别的空闲端口,比如
4096。 - 启动:点「启动转发」。弹窗里会实时预览将执行的完整
ssh -N -L …命令。
成功后列表出现一行,状态为运行中。这一步要等本地端口真正进入监听,慢服务器会慢一点,但不会误报。
验证
在终端里连一下本地端口:
Test-NetConnection 127.0.0.1 -Port 4096
nc -vz 127.0.0.1 4096
或者直接用你的客户端连 127.0.0.1:4096——对本地程序来说,它就是一个本地数据库。
绑定地址怎么选
| 绑定地址 | 谁能连 | 典型场景 |
|---|---|---|
127.0.0.1 | 只有本机 | 默认,最安全 |
localhost | 等价于 127.0.0.1 | 有些客户端只认主机名 |
::1 | 本机 IPv6 | 目标服务只监听 IPv6 时 |
0.0.0.0 | 局域网里任何能访问你机器的人 | 给同事或手机调试,慎用 |
远程主机填 localhost 或 127.0.0.1 时,绑定地址会联动成同名的本机地址;要用 0.0.0.0 得手动改。
为什么默认不是 0.0.0.0 绑定到
0.0.0.0意味着同网段的人可以直接连到你的数据库。除非明确需要,保持127.0.0.1。
状态含义
| 状态 | 含义 |
|---|---|
| 运行中 | PID 非 0,且该 PID 当前确实是 ssh 进程 |
| 已停止 | PID 为 0,或原 PID 已被其他程序复用 |
列表首次加载时会短暂显示骨架屏,然后每 3 秒自动刷新一次,也可以手动点「刷新」。