配置 SSH 和 SSL
为了使与数据库的连接更加安全,一些服务需要使用 SSH 或 SSL。
SSL
以下过程描述了适合大多数数据库的 SSL 配置。 对于某些数据库,您需要采用另一种方法才能成功连接。 您可以在 DataGrip 文档中看到 Cassandra 和 Heroku Postgres 的配置示例。
连接到支持 SSL 的数据库
打开数据源属性。 您可以通过以下选项之一打开数据源属性:
在 数据库 工具窗口( )中,点击 数据源属性 图标
。
按下 Ctrl+Alt+Shift+S。
在 数据源 选项卡上,选择您要修改的数据源。
点击 SSH/SSL 选项卡并选择 使用SSL(L) 复选框。
在 CA 文件(A) 字段中,导航到 CA 证书文件(例如, mssql.pem )。
您可以将证书文件字段留空,并使用信任库从中包含的证书中获取所需的证书。 要实现这一点,勾选 使用信任库 复选框并选择您要使用的 truststore。
IDE :使用 IDE 接受的证书。 您可以在 中添加新的已接受证书。
JAVA :使用 JAVA 信任库证书。
系统: 使用系统信任库证书。
在 客户端证书文件 字段中,导航至客户端证书文件(例如, client-cert.pem )。
在 客户端密钥文件(K) 字段中,导航到客户端密钥文件(例如, client-key.pem )。
从 模式 列表中选择验证模式:
需要
验证服务器是否识别客户端证书(如果提供了证书)。
验证CA
验证服务器是否识别客户端证书(如果提供了证书)。
通过检查一直到存储在客户端上的根证书的证书链来验证服务器。
全面验证
验证服务器是否识别客户端证书(如果提供了证书)。
通过检查一直到存储在客户端上的根证书的证书链来验证服务器。
验证服务器主机以确保其与存储在服务器证书中的名称匹配。
如果任何一个证书无法验证,SSL 连接将失败。
为了确保数据源连接成功,请点击 测试连接。

禁用与数据库的 SSL 连接
打开数据源属性。 您可以通过以下选项之一打开数据源属性:
在 数据库 工具窗口( )中,点击 数据源属性 图标
。
按下 Ctrl+Alt+Shift+S。
在 数据源 选项卡上,选择您要修改的数据源。
点击 SSH/SSL 选项卡并取消选中 使用SSL(L) 复选框。
点击 应用。
从其他数据源复制 SSL 设置
如果您为一个数据源配置了 SSL 设置,您可以将其复制到另一个数据源。
打开数据源属性。 您可以通过以下选项之一打开数据源属性:
在 数据库 工具窗口( )中,点击 数据源属性 图标
。
按下 Ctrl+Alt+Shift+S。
在 数据源 选项卡上,选择您要修改的数据源。
点击 SSH/SSL 选项卡并选择 使用SSL(L) 复选框。
点击 复制自… 链接并选择您想要复制的配置。
SSH
安全外壳或 SSH 是一种网络协议,用于加密客户端和服务器之间的连接。
在 IntelliJ IDEA 中,您可以通过以下方式之一创建一个 SSH 连接:
使用 IntelliJ IDEA SSH 隧道。 IDE 将使用您设置的 SSH 配置创建 SSH 隧道。
IntelliJ IDEA SSH隧道
IntelliJ IDEA 可以基于您设置的 SSH 配置创建 SSH 隧道。 要访问 SSH 配置设置,请按 Ctrl+Alt+S 打开设置并选择 工具 | SSH 配置。
要为数据源使用 SSH 隧道,请在 SSH/SSL 选项卡的 数据源和驱动程序 对话框(Ctrl+Alt+Shift+S )中选中 使用 SSH 隧道 复选框。
"您在项目中创建的所有 SSH 连接都将在所有数据源之间共享。" 如果您不想在项目之间共享连接,请在 SSH 连接设置中选择 仅对此项目可见 复选框。
通过 SSH 连接数据库
打开数据源属性。 您可以通过以下选项之一打开数据源属性:
在 数据库 工具窗口( )中,点击 数据源属性 图标
。
按下 Ctrl+Alt+Shift+S。
选择您想要更改连接设置的数据源配置文件。
点击 SSH/SSL 选项卡并选择 使用SSH 隧道(H) 复选框。
点击 添加SSH 配置 按钮 (
)。
在 SSH 对话框中,点击 添加 按钮。
如果您不想在项目之间共享配置,请选择 仅对此项目可见 复选框。
在 主机、 用户名(U) 和 端口 字段中,指定您的连接详细信息。
从 身份验证类型(Y) 列表中,您可以选择一种认证方法:
密码 :使用密码访问主机。 要将密码保存在 IntelliJ IDEA,请选择 保存密码 复选框。
密钥对(OpenSSH 或 PuTTY) :使用 SSH 认证与密钥对。 要应用此身份验证方法,您必须在客户端机器上拥有一个私钥,并在远程服务器上拥有一个公钥。 IntelliJ IDEA 支持使用 OpenSSH 工具生成的私钥。
指定存储 private key 的文件路径,并在相应字段中输入密码短语(如果有)。 若要使 IntelliJ IDEA 记住密码短语,请选中 保存密码短语(E) 复选框。
OpenSSH 配置和身份验证代理 :使用管理您的 SSH 密钥的凭据帮助程序,例如 ssh-agent。
点击 OK 确认新的 SSH 配置设置。
在 本地端口 字段的 数据源和驱动程序 对话框中,指定您想要转发连接的本地端口号。 否则,IntelliJ IDEA 动态选择端口。

禁用 SSH 连接到数据库
打开数据源属性。 您可以通过以下选项之一打开数据源属性:
在 数据库 工具窗口( )中,点击 数据源属性 图标
。
按下 Ctrl+Alt+Shift+S。
选择您想要更改连接设置的数据源配置文件。
点击 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 或其他工具,如 IntelliJ IDEA。 您可以在 Windows 任务栏中找到 Pageant 图标。
下载最新版本的 Pageant(从 https://www.putty.org/ 下载客户端)。
在 Windows 任务栏中,右键点击 Pageant 图标,然后选择 添加 Key。
在 选择私钥文件 对话框中,导航到私钥文件( PPK 文件)并点击 打开。
(可选)输入私钥密码并按 Enter。
在 数据库 工具窗口( )中,点击工具栏上的 数据源属性 图标
。
选择您想要更改连接设置的数据源配置文件。
点击 SSH/SSL 选项卡并选择 使用 SSH 隧道 复选框。
从 身份验证类型 列表中选择 OpenSSH 配置和认证代理。
在 代理主机、 代理用户 和 端口 字段中,指定连接详细信息。
为了确保数据源连接成功,请点击 测试连接。

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