Skip to content

通过 Cloudflare 隧道进行服务器 SSH 访问

通过 Cloudflare 隧道使用 SSH 访问服务器是一种安全且简单的连接远程服务器的方式,同时可以隐藏服务器的 IP 地址。

本指南将解释如何使用 Coolify 的自动 Cloudflare 隧道安装来设置这一功能。

适用人群

此设置适合以下用户:

  • 希望保持服务器 IP 地址私密的用户。
  • 希望关闭服务器上所有 SSH 端口的用户。
  • 不想依赖静态公网 IP 来访问远程服务器的用户。
  • 服务器没有静态公网 IP 的用户(仅适用于手动设置)。

开始前的准备

  • 我们假设您已经有一台运行 Coolify 的服务器,并且您希望设置隧道来连接另一台服务器到 Coolify。
  • 如果您尝试在运行 Coolify 的服务器上设置隧道,并且没有其他服务器需要连接,则不需要 SSH 隧道。Coolify 已经对其运行的服务器拥有完全的 root 访问权限,因此在这种情况下不需要 SSH 隧道。

工作原理

以下是一个简单的高层次概述图,让您直观了解其工作原理:


设置方法

有两种设置方法:自动和手动。

主要区别在于,在手动设置中,您需要自己安装 cloudflared,而在自动设置中,Coolify 会为您完成。

选择以下链接之一查看设置指南:

自动设置

要使用 Coolify 的自动设置来创建 Cloudflare 隧道:

  • 您的远程服务器在初始设置期间必须具有公网 IP 地址活动 SSH 端口,以便 Coolify 配置隧道。设置完成后,您可以关闭服务器上的所有端口。
  • 如果您的服务器没有公网 IP 地址,则此自动设置不适合您。请改用手动设置指南 ↗
  • 您需要一个DNS 由 Cloudflare 管理的域名

重要部分快速链接:


示例数据

以下数据在本指南中用作示例。请在执行步骤时将其替换为您的实际数据:

  • 远程服务器的 IPv4 地址:203.0.113.1
  • 域名:shadowarcanist.com
  • 用户名:root
  • SSH 端口:22

1. 创建私有 SSH 密钥

要创建私有 SSH 密钥,请按照以下步骤操作:

  1. 在 Coolify 仪表板中,转到 密钥与令牌
  2. 点击 + 添加 按钮

系统会提示您选择密钥类型,并提供密钥的名称和描述。

  1. 点击生成新的 ED25519RSA 按钮来生成新的 SSH 密钥。
  2. 复制公钥并保存在安全的地方(下一步需要用到)。然后,点击继续。

2. 将公钥添加到服务器

通过 SSH 登录到您想要连接到 Coolify 的服务器:

sh
  ssh root@203.0.113.1

登录后,将您的公钥添加到授权密钥文件:

sh
  $ echo "<在此引号内粘贴您的公钥>" >> ~/.ssh/authorized_keys

3. 将服务器添加到 Coolify

要将服务器添加到 Coolify,请按照以下步骤操作:

  1. 在 Coolify 仪表板中,转到 服务器
  2. 点击 + 添加 按钮

系统会提示您输入有关服务器的详细信息。请确保您提供的信息准确无误,因为 Coolify 将使用这些详细信息来访问您的服务器。

  1. 名称 - 选择一个名称,以便在仪表板中轻松识别您的服务器。
  2. 描述 - (可选)为您的服务器提供描述。
  3. IP 地址/域名 - 输入服务器的公网 IP 地址。
  4. 端口 - 输入服务器用于 SSH 连接的端口号。
  5. 用户 - 输入 Coolify 将使用的用户名(它应该在服务器上具有 root 权限)。
  6. 私钥 - 选择您在步骤 1中创建的私钥
  7. 填写完详细信息后,点击 继续 按钮。

4. 在 Coolify 上验证服务器

要验证您的服务器,只需点击 验证服务器并安装 Docker 引擎 按钮。

在此过程中,Coolify 将登录到您的服务器并设置 Coolify 使用服务器所需的一切。

验证完成后,您的服务器页面将如下所示:

5. 创建 Cloudflare 隧道

要创建 Cloudflare 隧道,请首先登录您的 Cloudflare 账户并转到 Zero Trust ↗ 页面。

  1. 在 Zero Trust 页面上,转到侧边栏中的 网络
  2. 点击 隧道
  3. 点击 添加隧道 按钮

系统会提示您选择隧道类型。点击 选择 Cloudflared 按钮。

系统会提示您输入隧道名称。选择您喜欢的名称。

接下来,您将看到配置页面,其中包含多种安装 cloudflared 的选项。

复制安装命令,其中包含您的隧道令牌(令牌以 "eyJ" 开头)。确保只保存令牌,删除命令部分,并将其存储在安全的地方,因为我们稍后需要它。

向下滚动,直到看到 下一步 按钮,然后点击它。

然后,系统会提示您添加主机名。这是我们公开 SSH 隧道的地方。

  1. 子域名 - (可选)您可以在任何子域名上使 SSH 可访问。在本指南中,我们使用子域名 ssh
  2. 域名 - 选择您要用于隧道的域名。
  3. 路径 - 留空此字段。
  4. 类型 - 选择 SSH(这非常重要)。
  5. URL - 输入 localhost:22 如果您的 SSH 端口不同于 22,请使用该端口。
  6. 填写完详细信息后,点击 保存隧道 按钮。

6. 在 Coolify 上设置 Cloudflare 隧道

要在 Coolify 上设置隧道,请按照以下步骤操作:

转到 服务器 页面并选择您要连接的服务器。这是您在步骤 3中添加的服务器。

  1. 点击 Cloudflare 隧道
  2. 点击 自动 按钮

系统会提示您输入隧道令牌和 SSH 域名。

  1. 输入您的 隧道令牌(这是我们在步骤 5中复制的令牌)
  2. 输入您的 SSH 域名(这是我们在步骤 5中设置的子域名)
  3. 点击 继续 按钮。

Coolify 现在将在服务器上安装 cloudflared 并自动设置一切。这个过程将需要大约 30 秒到 1 分钟。

完成后,您将在 Cloudflare 隧道页面上看到 Cloudflare 隧道已启用,如下所示:

此时,Coolify 将自动将您的服务器 IP 地址更新为 SSH 域名。

如果您愿意,现在可以在服务器上阻止 SSH 端口。

恭喜!您已成功设置了一台服务器,Coolify 可以通过您的域名使用 Cloudflare 隧道通过 SSH 访问该服务器。

注意!

以上步骤展示了如何进行自动设置。下面是手动设置的步骤。

手动设置

要手动设置 Cloudflare 隧道:

  • 您需要访问远程服务器来安装 cloudflared(服务器不需要公网 IP)。
  • 您需要一个DNS 由 Cloudflare 管理的域名

重要部分快速链接:


示例数据

以下数据在本指南中用作示例。请在执行步骤时将其替换为您的实际数据:

  • 远程服务器的 IPv4 地址:203.0.113.1
  • 域名:shadowarcanist.com
  • 用户名:root
  • SSH 端口:22

1. 创建私有 SSH 密钥

要创建私有 SSH 密钥,请按照以下步骤操作:

  1. 在 Coolify 仪表板中,转到 密钥与令牌
  2. 点击 + 添加 按钮

系统会提示您选择密钥类型,并提供密钥的名称和描述。

  1. 点击生成新的 ED25519RSA 按钮来生成新的 SSH 密钥。
  2. 复制公钥并保存在安全的地方(下一步需要用到)。然后,点击继续。

2. 将公钥添加到服务器

通过 SSH 登录到您想要连接到 Coolify 的服务器:

sh
  ssh root@203.0.113.1

这台服务器可以位于您的本地网络中,没有公网 IP 地址。您只需要 SSH 访问终端来运行命令。

登录后,将您的公钥添加到授权密钥文件:

sh
  $ echo "<在此引号内粘贴您的公钥>" >> ~/.ssh/authorized_keys

3. 创建 Cloudflare 隧道

要创建 Cloudflare 隧道,请首先登录您的 Cloudflare 账户并转到 Zero Trust ↗ 页面。

  1. 在 Zero Trust 页面上,转到侧边栏中的 网络
  2. 点击 隧道
  3. 点击 添加隧道 按钮

系统会提示您选择隧道类型。点击 选择 Cloudflared 按钮。

系统会提示您输入隧道名称。选择您喜欢的名称。

接下来,您将看到配置页面,其中包含多种安装 cloudflared 的选项。

选择您喜欢的选项,并按照 Cloudflare 在页面上提供的安装说明进行操作。

向下滚动一点,等待您的服务器(连接器)出现在列表中。出现后,点击 下一步 按钮。

然后,系统会提示您添加主机名。这是我们公开 SSH 隧道的地方。

  1. 子域名 - (可选)您可以在任何子域名上使 SSH 可访问。在本指南中,我们使用子域名 ssh
  2. 域名 - 选择您要用于隧道的域名。
  3. 路径 - 留空此字段。
  4. 类型 - 选择 SSH(这非常重要)。
  5. URL - 输入 localhost:22 如果您的 SSH 端口不同于 22,请使用该端口。
  6. 填写完详细信息后,点击 保存隧道 按钮。

4. 将服务器添加到 Coolify

要将服务器添加到 Coolify,请按照以下步骤操作:

  1. 在 Coolify 仪表板中,转到 服务器
  2. 点击 + 添加 按钮

系统会提示您输入有关服务器的详细信息。请确保您提供的信息准确无误,因为 Coolify 将使用这些详细信息来访问您的服务器。

  1. 名称 - 选择一个名称,以便在仪表板中轻松识别您的服务器。
  2. 描述 - (可选)为您的服务器提供描述。
  3. IP 地址/域名 - 输入服务器的 SSH 域名(我们在上一步中设置的)。
  4. 端口 - 输入服务器用于 SSH 连接的端口号。
  5. 用户 - 输入 Coolify 将使用的用户名(它应该在服务器上具有 root 权限)。
  6. 私钥 - 选择您在步骤 1中创建的私钥
  7. 填写完详细信息后,点击 继续 按钮。

5. 在 Coolify 上验证服务器

要验证您的服务器,只需点击 验证服务器并安装 Docker 引擎 按钮。

在此过程中,Coolify 将登录到您的服务器并设置 Coolify 使用服务器所需的一切。

验证完成后,您的服务器页面将如下所示:

6. 在 Coolify 上设置 Cloudflare 隧道

要在 Coolify 上设置隧道,请按照以下步骤操作:

转到 服务器 页面并选择您要连接的服务器(我们在上一步中添加的服务器)。

  1. 点击 Cloudflare 隧道
  2. 点击 手动 按钮

完成后,您将在 Cloudflare 隧道页面上看到 Cloudflare 隧道已启用,如下所示:

恭喜!您已成功设置了一台服务器,Coolify 可以通过您的域名使用 Cloudflare 隧道通过 SSH 访问该服务器。