SSH 与 TLS 的作用不同
直接连接是电脑连接数据库服务器。
TLS 加密数据库通信,并通过证书验证目标,有时也被称为 SSL。
SSH 隧道加密从电脑到 SSH 服务器的路径。
SSH 服务器到另一台数据库服务器的后续区间,不一定仅靠 SSH 就能得到保护。
分别准备 DB 和 SSH 信息
确认数据库类型、主机、端口、用户名和密码;PostgreSQL 还需数据库名称。
使用 SSH 时另需 SSH 主机、端口、用户名和密码或私钥。
标准端口为 SSH 22、MySQL 兼容数据库 3306、PostgreSQL 5432,但应以管理员或服务商提供的值为准。
通过 TLS 直接连接远程数据库
在向导中填写 DB 信息并选择直接连接。
远程主机的直接连接会显示加密设置。
自动模式在外部直接连接中使用 TLS。
服务要求 TLS 时,选择强制 TLS,并按要求选择 CA 文件。
使用服务提供的完整主机名,不要换成与证书不匹配的 IP 地址。
确认目标后连接。
通过 SSH 隧道连接
选择 SSH 隧道,在下一页输入 SSH 信息。
DB 用户与 SSH 用户不同。
DB 位于 SSH 服务器内时使用标准设置;位于其他服务器时,打开相应设置,填写从 SSH 服务器可访问的 DB 主机和端口。
直接连接的 127.0.0.1 是自己的电脑,SSH 内 DB 目标的 127.0.0.1 是 SSH 服务器。
SSH 和本地直接连接时不显示 TLS 设置。
如果到其他 DB 的后续区间要求 TLS,请先确认当前界面能否配置,再继续。
不要混淆 CA 证书与私钥
CA 证书(例如 ca.pem)用于验证 DB 服务器证书。
从服务商获取后保存到电脑,在 CA 字段选择文件,不要将下载 URL 当作文件路径。
SSH 私钥用于 SSH 登录。
通过 Windows、WSL 或手动路径选择实际位置,选择私钥而非 .pub 公钥文件。
必要时输入私钥口令。
仅持有 CA 证书不能获得 DB 登录权限。
首次确认与连接错误
首次 SSH 主机密钥应与管理员提供的指纹等信息核对。
阅读证书警告并确认目标;已知密钥或证书发生变化时,询问是否有预期更新。
超时或拒绝连接时检查主机、端口、来源 IP 限制和防火墙;认证错误检查 DB 与 SSH 各自的信息;证书错误检查 CA、有效期、电脑时间和主机名。
不要为了消除错误而关闭 TLS 或证书验证。
连接后确认数据库
选择数据库、模式和数据表。
SSH 登录成功不代表 DB 认证和权限一定正确。
先使用必要的读取权限查看,再决定是否保存连接和密码。
完整入门步骤请参阅首次连接指南。