正向 SSH 隧道

以下步骤介绍了如何使用转发 SSH 隧道设置与源数据库的连接。

第 1 步:选择终止隧道的主机

要为您的数据库设置 SSH 隧道访问权限,第一步是选择将用于终止隧道的主机。隧道可以在数据库主机本身或单独的主机(隧道服务器)上终止。

使用数据库服务器

终止数据库上的隧道具有操作简单这一优势。由于涉及的主机少了一个,因此没有额外的机器及其相关费用。缺点是数据库服务器可能位于无法通过互联网直接访问的受保护的网络上。

使用隧道服务器

终止单独服务器上的隧道的优势是,可以防止通过互联网访问您的数据库服务器。如果隧道服务器被破解,则只需一步即可从数据库服务器中移除。建议您从隧道服务器中移除所有不必要的软件和用户,并使用入侵检测系统 (IDS) 等工具密切监控该服务器。

隧道服务器可以是任何具备下列特点的 Unix 或 Linux 主机:

  1. 可以通过 SSH 从互联网访问。
  2. 可以访问数据库。

第 2 步:创建 IP 许可名单

为数据库设置 SSH 隧道访问权限的第二步是,允许网络流量通过 SSH(通常在 TCP 端口 22 上)到达隧道服务器或数据库主机。

允许来自创建 Datastream 资源的每个地区 IP 地址的网络流量。

第 3 步:使用 SSH 隧道

在连接配置文件配置中提供隧道详细信息。如需了解详情,请参阅创建连接配置文件

为了对 SSH 隧道会话进行身份验证,DataStream 需要使用隧道账号的密码,或者使用唯一私钥。如需使用唯一私钥,您可以使用 OpenSSH 或 OpenSSL 命令行工具生成密钥。

Datastream 会将私钥安全地存储为 Datastream 连接配置文件配置的一部分。您必须将公钥手动添加到堡垒主机的 ~/.ssh/authorized_keys 文件中。

生成私钥和公钥

您可以使用以下方法生成 SSH 密钥:

  • ssh-keygen:用于生成 SSH 密钥对的 OpenSSH 命令行工具。

    实用标志:

    • -t:指定要创建的密钥的类型,例如:

      ssh-keygen -t rsa

      ssh-keygen -t ed25519

    • -b:指定要创建的密钥中的密钥长度,例如:

      ssh-keygen -t rsa -b 2048

    • -y:读取私钥 OpenSSH 格式的文件,并将 OpenSSH 公钥输出到标准输出。

    • -f:指定密钥文件的文件名,例如:

      ssh-keygen -y [-f KEY_FILENAME]

    如需详细了解受支持的标志,请参阅 OpenBSD 文档

您可以使用以下方法生成 PEM 格式的私钥:

  • openssl genpkey:用于生成 PEM 私钥的 OpenSSL 命令行工具。

    实用标志:

    • algorithm:指定要使用的公钥算法,例如:

      openssl genpkey -algorithm RSA

    • -out:指定要将密钥输出到的文件名,例如:

      openssl genpkey -algorithm RSA -out PRIVATE_KEY_FILENAME.pem

    如需详细了解支持的标志,请参阅 OpenSSL 文档

后续步骤