通过 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 密钥,请按照以下步骤操作:

- 在 Coolify 仪表板中,转到 密钥与令牌
- 点击 + 添加 按钮
系统会提示您选择密钥类型,并提供密钥的名称和描述。

- 点击生成新的 ED25519 或 RSA 按钮来生成新的 SSH 密钥。
- 复制公钥并保存在安全的地方(下一步需要用到)。然后,点击继续。
2. 将公钥添加到服务器
通过 SSH 登录到您想要连接到 Coolify 的服务器:
ssh root@203.0.113.1登录后,将您的公钥添加到授权密钥文件:
$ echo "<在此引号内粘贴您的公钥>" >> ~/.ssh/authorized_keys3. 将服务器添加到 Coolify
要将服务器添加到 Coolify,请按照以下步骤操作:

- 在 Coolify 仪表板中,转到 服务器
- 点击 + 添加 按钮
系统会提示您输入有关服务器的详细信息。请确保您提供的信息准确无误,因为 Coolify 将使用这些详细信息来访问您的服务器。

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

在此过程中,Coolify 将登录到您的服务器并设置 Coolify 使用服务器所需的一切。
验证完成后,您的服务器页面将如下所示:

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

- 在 Zero Trust 页面上,转到侧边栏中的 网络。
- 点击 隧道
- 点击 添加隧道 按钮
系统会提示您选择隧道类型。点击 选择 Cloudflared 按钮。

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

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

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

向下滚动,直到看到 下一步 按钮,然后点击它。
然后,系统会提示您添加主机名。这是我们公开 SSH 隧道的地方。

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

转到 服务器 页面并选择您要连接的服务器。这是您在步骤 3中添加的服务器。
- 点击 Cloudflare 隧道
- 点击 自动 按钮
系统会提示您输入隧道令牌和 SSH 域名。

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 密钥,请按照以下步骤操作:

- 在 Coolify 仪表板中,转到 密钥与令牌
- 点击 + 添加 按钮
系统会提示您选择密钥类型,并提供密钥的名称和描述。

- 点击生成新的 ED25519 或 RSA 按钮来生成新的 SSH 密钥。
- 复制公钥并保存在安全的地方(下一步需要用到)。然后,点击继续。
2. 将公钥添加到服务器
通过 SSH 登录到您想要连接到 Coolify 的服务器:
ssh root@203.0.113.1这台服务器可以位于您的本地网络中,没有公网 IP 地址。您只需要 SSH 访问终端来运行命令。
登录后,将您的公钥添加到授权密钥文件:
$ echo "<在此引号内粘贴您的公钥>" >> ~/.ssh/authorized_keys3. 创建 Cloudflare 隧道
要创建 Cloudflare 隧道,请首先登录您的 Cloudflare 账户并转到 Zero Trust ↗ 页面。

- 在 Zero Trust 页面上,转到侧边栏中的 网络。
- 点击 隧道
- 点击 添加隧道 按钮
系统会提示您选择隧道类型。点击 选择 Cloudflared 按钮。

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

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

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

向下滚动一点,等待您的服务器(连接器)出现在列表中。出现后,点击 下一步 按钮。
然后,系统会提示您添加主机名。这是我们公开 SSH 隧道的地方。

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

- 在 Coolify 仪表板中,转到 服务器
- 点击 + 添加 按钮
系统会提示您输入有关服务器的详细信息。请确保您提供的信息准确无误,因为 Coolify 将使用这些详细信息来访问您的服务器。

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

在此过程中,Coolify 将登录到您的服务器并设置 Coolify 使用服务器所需的一切。
验证完成后,您的服务器页面将如下所示:

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

转到 服务器 页面并选择您要连接的服务器(我们在上一步中添加的服务器)。
- 点击 Cloudflare 隧道
- 点击 手动 按钮
完成后,您将在 Cloudflare 隧道页面上看到 Cloudflare 隧道已启用,如下所示:

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