SSH 隧道
通过 SSH 隧道安全连接防火墙后的数据库,支持密码和密钥认证。
内置 SSH 隧道,无需在终端手动建立。支持密码和密钥认证,可选暴露给局域网供团队共享。
当数据库服务器不允许直接远程访问时(例如在防火墙或私有网络后面),你可以通过 SSH 隧道安全地连接。
配置
在创建或编辑数据库连接时,启用"SSH 隧道"选项:
| 字段 | 说明 |
|---|---|
| SSH 主机 | SSH 服务器的地址 |
| SSH 端口 | SSH 端口(默认 22) |
| SSH 用户名 | 登录 SSH 服务器的用户名 |
| 连接超时 | DBX 等待 SSH 连接建立的最长时间,默认 5 秒 |
认证方式
选择本地的 SSH 私钥文件(如 ~/.ssh/id_rsa、~/.ssh/id_ed25519):
- 密钥路径 — 点击文件选择器浏览并选择私钥文件
- 密钥密码 — 如果私钥设置了密码保护,在此输入
密钥认证比密码认证更安全,推荐优先使用。
输入 SSH 用户的登录密码即可。适用于允许密码登录的服务器。
允许局域网访问
启用"允许局域网访问"后,同一网络中的其他设备也可以通过你的机器访问该 SSH 隧道。仅在可信网络中启用此选项。
默认情况下,SSH 隧道仅监听 localhost。启用局域网访问后,隧道绑定到 0.0.0.0,适用于团队协作或多设备共享数据库连接的场景。
工作原理
- DBX 与 SSH 服务器建立连接
- 创建本地端口,将流量通过 SSH 隧道转发到数据库服务器
- DBX 通过转发的本地端口连接数据库
隧道在数据库连接期间保持活跃,断开连接时自动关闭。
SSH、代理与文件型数据库
SSH 隧道适用于网络数据库。SQLite 和 Access 是文件型连接,不使用 SSH。DuckDB 通常也使用本地文件,所以只有当当前驱动类型确实需要网络端点时才需要配置 SSH。
如果你的网络需要代理而不是 SSH,可以使用连接窗口里的代理页签。DBX 支持 SOCKS5 和 HTTP 代理,并可选填写用户名和密码。