配置 SSH 与 SSL
为提高数据库连接的安全性,某些服务要求使用 SSH 或 SSL。
SSL
以下过程介绍了适用于大多数数据库的 SSL 配置。 对于某些数据库,需要使用其他方法才能成功连接。 您可以在 DataGrip 文档中查看 Cassandra 和 Heroku Postgres 的配置示例。
使用 SSL 连接数据库
通过以下任一方式打开数据源属性:
在 数据库 工具窗口的工具栏中,点击
数据源。
按 Shift+Enter。

在 数据源 选项卡中,选择要修改的数据源。
点击 SSH/SSL 选项卡并选中 使用SSL(L) 复选框。
在 CA 文件(A) 字段中,导航至 CA 证书文件(例如 mssql.pem )。
您可以不填写证书文件字段,而是使用信任库从其包含的证书中获取所需证书。 为此,请选中 使用信任库 复选框并选择要使用的信任库。
IDE :使用 IDE 接受的证书。 您可以在 中添加新的可接受证书。
JAVA :使用 JAVA truststore 证书。
系统 :使用系统 truststore 证书。
在 客户端证书文件 字段中,导航至客户端证书文件(例如 client-cert.pem )。
在 客户端密钥文件(K) 字段中,导航至客户端密钥文件(例如 client-key.pem )。
在 模式 列表中选择验证模式:
需要
验证服务器是否已识别客户端证书(如果提供了证书)。
验证CA
验证服务器是否已识别客户端证书(如果提供了证书)。
通过检查证书链直到客户端上存储的根证书来验证服务器。
全面验证
验证服务器是否已识别客户端证书(如果提供了证书)。
通过检查证书链直到客户端上存储的根证书来验证服务器。
验证服务器主机是否与服务器证书中存储的名称匹配。
如果任一证书无法验证,则 SSL 连接将失败。
为确保成功连接至数据源,请点击 测试连接。

禁用与数据库之间的 SSL 连接
通过以下任一方式打开数据源属性:
在 数据库 工具窗口的工具栏上,单击
数据源。
按 Shift+Enter。

在 数据源 选项卡中,选择要修改的数据源。
单击 SSH/SSL 选项卡,然后清除 使用SSL(L) 复选框。
单击 应用。
从其他数据源复制 SSL 设置
如果已为一个数据源配置了 SSL 设置,则可以将其复制到另一个数据源。
通过以下任一方式打开数据源属性:
在 数据库 工具窗口的工具栏上,单击
数据源。
按 Shift+Enter。

在 数据源 选项卡中,选择要修改的数据源。
单击 SSH/SSL 选项卡,并选中 使用SSL(L) 复选框。
单击 复制自… 链接,然后选择要复制的配置。
SSH
Secure Shell(SSH)是一种网络协议,用于加密客户端与服务器之间的连接。
在 WebStorm 中,可以通过以下任一方式创建 SSH 连接:
使用 WebStorm SSH 隧道。 IDE 将使用您设置的 SSH 配置创建 SSH 隧道。
WebStorm SSH 隧道
WebStorm 可以根据您设置的 SSH 配置创建 SSH 隧道。 要访问 SSH 配置设置,请按 Ctrl+Alt+S 打开设置并选择 工具 | SSH 配置。
要为数据源使用 SSH 隧道,请在 SSH/SSL 选项卡中的 数据源和驱动程序 对话框(Shift+Enter )中选中 使用 SSH 通道 复选框。
所有创建的 SSH 连接将在项目中的所有数据源之间共享。 如果不希望在项目之间共享连接,请在 SSH 连接设置中选中 仅对此项目可见 复选框。
使用 SSH 连接数据库
通过以下任一方式打开数据源属性:
在 数据库 工具窗口的工具栏上,单击
数据源。
按 Shift+Enter。

选择要为其设置 SSH 连接的数据源。
单击 SSH/SSL 选项卡,然后选中 使用SSH 隧道(H) 复选框。
单击
添加SSH 配置。
在 SSH 配置 对话框中,单击 添加 按钮。
如果不希望在项目之间共享配置,请选中 仅对此项目可见 复选框。
在 主机 和 端口 字段中指定连接详细信息。
在 用户名(U) 字段中输入您的用户名。
在本教程中,我们使用加密的私钥文件和公钥文件进行身份验证。 在 身份验证类型(Y) 列表中,您可以选择身份验证方法:
密码 :使用密码访问主机。 要将密码保存在 WebStorm 中,请选中 保存密码 复选框。
密钥对(OpenSSH 或 PuTTY) :使用 SSH 身份验证 和密钥对。 要应用此身份验证方法,客户端计算机上必须有私钥,远程服务器上必须有公钥。 WebStorm 支持使用 OpenSSH 实用程序生成的私钥。
指定存储 私钥 的文件路径,并在相应字段中输入密码(如有)。 要让 WebStorm 记住密码,请选中 保存密码短语(E) 复选框。
OpenSSH 配置和身份验证代理 :使用如 ssh-agent 或 Pageant(仅限 Windows) 之类的 SSH 密钥管理凭据助手应用程序。
点击 测试连接 以运行测试连接。
在 SSH 配置 对话框中,点击 确定 以确认新的 SSH 配置设置。
在 本地端口 字段的 数据源与驱动程序 对话框中,指定用于转发连接的本地端口号。 否则,WebStorm 将动态选择端口。
点击连接详情区域底部的 测试连接 链接,以开始对数据库的测试连接。

点击 确定 创建数据源。

示例
有关通过 SSH 连接到数据库的示例,请参阅 使用 SSH 连接到数据库 主题。
禁用与数据库之间的 SSH 连接
通过以下任一方式打开数据源属性:
在 数据库 工具窗口的工具栏中,点击
数据源。
按下 Shift+Enter。

选择要更改连接设置的数据源配置文件。
点击 SSH/SSL 选项卡并取消选中 使用SSH 隧道(H) 复选框。
点击 应用。
手动创建 SSH 隧道
通过 PuTTY(Windows)创建 SSH 隧道
下载并运行最新版本的 PuTTY SSH 和 Telnet 客户端(可从 https://www.putty.org/ 下载客户端)。
在 PuTTY 配置 对话框中,导航至 。
在 用于身份验证的私钥文件 字段中,指定您的私钥文件路径并点击 打开。
在命令行窗口中,指定用于 SSH 隧道的用户名并按下 Enter。 请勿关闭命令行窗口。
在 数据库 工具窗口中,点击工具栏上的 数据源属性 图标
。
选择要更改连接设置的数据源配置文件。
点击 SSH/SSL 选项卡并选中 使用 SSH 通道 复选框。
从 身份验证类型 列表中选择 OpenSSH 配置与身份验证代理。
在 代理主机、 代理用户 和 端口 字段中,指定连接详情。
为确保成功连接到数据源,请点击 测试连接。

通过 Pageant(Windows)创建 SSH 隧道
Pageant 是用于 PuTTY、PSCP、PSFTP 和 Plink 的 SSH 身份验证代理。 Pageant 会存储您的私钥,并在其运行期间,将已解锁的私钥提供给 PuTTY 或类似 WebStorm 的其他工具。 您可以在 Windows 任务栏中找到 Pageant 图标。
下载最新版本的 Pageant(可从 https://www.putty.org/ 下载客户端)。
在 Windows 任务栏中,右键点击 Pageant 图标并选择 添加密钥。
在 选择私钥文件 对话框中,导航至私钥文件(PPK 文件)并点击 打开。
(可选)输入私钥密码,并按下 Enter。
在 数据库 工具窗口中,点击工具栏上的 数据源属性 图标
。
选择要更改连接设置的数据源配置文件。
点击 SSH/SSL 选项卡并选中 使用 SSH 通道 复选框。
从 身份验证类型 列表中选择 OpenSSH 配置与身份验证代理。
在 代理主机、 代理用户 和 端口 字段中,指定连接详情。
为确保成功连接到数据源,请点击 测试连接。

通过 ssh-agent(macOS 和 Linux)创建 SSH 隧道
在命令行中运行所有用于 ssh-agent 的命令。
确保 ssh-agent 正在运行。
ssh-agent将您的密钥添加到代理中(以下示例中,密钥路径为 ~/.ssh/id_rsa )。
ssh-add ~/.ssh/id_rsa(可选)在 macOS 上,您可以在
ssh-add命令中添加-K选项,将密码存储在钥匙串中。 在 macOS Sierra 及更高版本中,您需要在 ~/.ssh/ 中创建 config 文件,并写入以下内容:Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/id_rsa如果 .ssh 目录中存在其他私钥,为每个密钥添加一行
IdentityFile。 例如,如果第二个密钥名为 id_ed25519 ,请添加IdentityFile ~/.ssh/id_ed25519作为该私钥的额外一行。列出所有已添加的密钥。
ssh-add -L在 数据库 工具窗口中,点击工具栏上的 数据源属性 图标
。
选择要更改连接设置的数据源配置文件。
点击 SSH/SSL 选项卡并选中 使用 SSH 通道 复选框。
从 身份验证类型 列表中选择 OpenSSH 配置与身份验证代理。
在 代理主机、 代理用户 和 端口 字段中,指定连接详情。
为确保成功连接到数据源,请点击 测试连接。
