【免费下载链接】gridex
A native macOS / windows / Linux database IDE built with Swift and AppKit. Connect to PostgreSQL, MySQL, SQLite, and Redis from a single app with a fast, keyboard-driven interface.
Gridex是一款原生跨平台(macOS / Windows / Linux)数据库 IDE,内置 SSH 隧道与 mTLS 双向认证能力。本教程将带你用一套"Teleport 风格"的连接方案,安全地直连藏在防火墙后的 PostgreSQL、MySQL、Redis 等数据库,全程零命令行、图形界面完成。
为什么数据库不能"裸连"?
生产环境的数据库通常藏在机房或内网,安全策略一般是:
- 只开放 22 端口(SSH),数据库端口(5432 / 3306 / 6379)对公网完全关闭;
- 即使开放端口,也要求TLS 加密 + 客户端证书(mTLS),防止中间人攻击与非法客户端。
传统做法要手写ssh -L转发、手动配置证书路径、还得自己维护一堆端口映射。而 Gridex 把这两件事做进了连接表单里:一条连接 = 一个 SSH 隧道 + 一套 mTLS 证书,连接即隧道,断开即拆除。
Gridex 的两层防护是怎么工作的?
整个链路可以理解为:
你的电脑 ──SSH(加密)──> 跳板机 ──内网──> 数据库 └── TLS/mTLS 证书认证包裹整条会话 ──┘| 防护层 | 作用 | Gridex 实现 |
|---|---|---|
| SSH 隧道 | 只走 22 端口,本地自动开转发端口 | SSHTunnelService.swift(macOS,NIOSSH)/ SSHTunnelManager.h(Linux,libssh) |
| mTLS 双向认证 | 数据库同时验证"你是谁" | 连接配置支持sslKeyPath/sslCertPath/sslCACertPath,见 ConnectionConfig.swift |
隧道由 Gridex 的SSHTunnelService统一管理:每条连接一条专属隧道,绑定一个空闲的本地端口,断开连接时自动拆除,不会留下僵尸端口。
实战步骤一:配置 SSH 隧道
打开连接表单(新建或编辑连接),点击底部的"Over SSH"按钮,展开 SSH 配置区:
- SSH Host:填跳板机地址,如
ssh.example.com,端口默认 22; - SSH User:填登录用户名;
- 认证方式(三选一,对应 SSHAuthMethod.h):
- Password—— 直接填 SSH 密码;
- Private Key—— 选择私钥文件(如
~/.ssh/id_rsa),可点Browse...浏览; - Key + Passphrase—— 私钥带口令时使用;
- 数据库地址填内网地址:Host 填数据库在内网的真实地址(如
10.0.1.5),端口 5432 —— Gridex 会自动把它映射到本地端口,你无需关心映射细节。
💡 凭据只会保存在本机:macOS 使用 Keychain,Windows 使用 Credential Manager,不做任何云同步。
实战步骤二:配置 mTLS(Teleport 风格证书)
如果你的数据库网关(如 Teleport)要求客户端出示证书,在 SSL 区填入三个文件路径:
| 配置项 | 说明 |
|---|---|
sslKeyPath | 客户端私钥(.key) |
sslCertPath | 客户端证书(.crt/.pem) |
sslCACertPath | 签发该证书的 CA 根证书 |
这套字段与 Teleport 签发的数据库证书完全兼容——把 Teleport 生成的三件套放进去即可正常连接,PostgreSQL、MySQL、Redis、ClickHouse 均已端到端支持。其中 ClickHouse 还支持PKCS#12(.p12/.pfx)客户端证书包 + CA 固定校验,实现见 ClickHouseHTTPClient.swift(通过SecPKCS12Import导入)。
SSL 模式怎么选?
Gridex 提供 5 档 SSL 模式(定义见 SSLMode.h):
PREFERRED:优先加密,服务器不支持则回退明文(默认);REQUIRED:强制 TLS,但不校验服务器证书;VERIFY_CA:校验证书是否由受信 CA 签发;VERIFY_IDENTITY:最严格,同时校验 CA 和主机名 ——生产环境推荐。
验证连接:一键测试,直查数据
填完后点击Test测试连通性,成功后点Connect。连接建立后你就能在熟悉的界面中操作:
- 数据网格直接查看/编辑表数据,支持内联编辑与事务提交;
- 左侧表树浏览全部 schema,ER 图视图一眼看清表间关系;
- 查询编辑器写 SQL,历史自动保存可搜索。
常见问题速查
Q:测试连接提示超时?确认跳板机 22 端口可达;用"内网地址"而不是公网地址填数据库 Host。
Q:mTLS 报"unknown ca"或"certificate verify failed"?检查sslCACertPath是否指向根证书而非中间证书;ClickHouse 用户可直接改用 .p12 证书包。
Q:断开后本地端口还在占用?不会——隧道与连接生命周期绑定,断开即拆除(SSHTunnelManager::disconnect/ Swift 侧 actor 自动清理)。
Q:能否从 Navicat / DBeaver / DataGrip 迁移过来?可以,Gridex 的导入功能支持批量导入这些工具的已保存连接,包括 SSH 配置和密钥链中的密码(ImportService),迁移零手工。
小结
用 Gridex 连接防火墙后的数据库,只需要两件事:Over SSH 展开填跳板机,SSL 区填 Teleport 三件套——SSH 隧道负责"走得了",mTLS 负责"信得过",图形界面一步到位。相比手工维护ssh -L和证书环境变量,这套原生方案让每一次连接都既安全又可控。
【免费下载链接】gridex
A native macOS / windows / Linux database IDE built with Swift and AppKit. Connect to PostgreSQL, MySQL, SQLite, and Redis from a single app with a fast, keyboard-driven interface.
相关推荐
Metabase SSH 隧道(SSH Tunneling)数据库连接完全指南
Metabase SSH 隧道(SSH Tunneling)数据库连接完全指南 Metabase 通过内置的 SSH 客户端建立到堡垒机(Bastion Hos
数据分析数据可视化后端数据库客户端企业应用Chisel HTTP隧道终极指南:如何快速穿透防火墙实现安全通信
Chisel HTTP隧道终极指南:如何快速穿透防火墙实现安全通信 Chisel是一款基于HTTP协议的快速TCP/UDP隧道工具,通过SSH协议加密传输,集客
网络安全网络终极Teleport网络隧道指南:穿透NAT和防火墙的完整解决方案
终极Teleport网络隧道指南:穿透NAT和防火墙的完整解决方案 Teleport是GitHub加速计划中的一款功能强大的网络工具,它提供了最简单且最安全的方
网络安全认证鉴权运维后端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考