配置 Armbian 通过 Cloudflare Tunnel 实现安全的外网远程管理

Armbian 配置 Cloudflare Tunnel 远程连接

记录一下,配置 Armbian 通过 Cloudflare Tunnel 实现安全的外网远程管理,全程无需公网 IP、无需端口映射,直接通过域名访问。

1. 前期准备

  • 一个 Cloudflare 账号:注册免费版即可
  • 一个托管在 Cloudflare 的域名:用于远程访问(推荐二级域名,比如 armbian.yourdomain.com)
  • Armbian 设备一台:已联网
  • SSH 连接权限:能登录 Armbian 终端

2. 安装 Cloudflared 客户端

  • 下载并安装官方客户端
1
2
3
4
5
6
7
8
9
10
11
// 安装依赖
sudo apt update && sudo apt install -y curl

// 下载 cloudflared 安装包(ARM/ARM64 通用)
curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-armhf.deb

// 安装
sudo dpkg -i cloudflared.deb

// 验证安装
cloudflared --version
  • 看到版本号输出,说明安装成功。

3. 在 Cloudflare Zero Trust 创建隧道

  1. 登录 Cloudflare Zero Trust 后台
  2. 左侧菜单选择 Networks → Tunnels,点击 Create a tunnel
  3. 填写隧道名称(比如 armbian-tunnel),点击 Save
  4. 进入 Install connector 页面,选择 Linux
  5. 复制页面上的安装命令(类似 sudo cloudflared service install eyJh…),先保存好

配置隧道开机自启与后台运行

3.1 安装并启动系统服务

  • 将你刚才复制的命令粘贴到终端执行:
1
sudo cloudflared service install 你的隧道Token(eyJh...开头的长串)
  • 输出 Linux service for cloudflared installed successfully 即安装完成。

3.2. 验证服务状态

1
systemctl status cloudflared
  • 输出中出现 Active: active (running),说明隧道服务已启动。

4. 配置远程访问规则(核心)

回到 Cloudflare Zero Trust 隧道配置页面,在 Public Hostnames 里添加访问规则,让域名指向你的 Armbian 服务。

  • Add a public hostname
  • Subdomain:填写你想使用的子域名,比如 ssh(完整域名就是 ssh.yourdomain.com)
  • Domain:选择你托管在 Cloudflare 的域名
  • Service Type:选择 SSH
  • URL:填写 127.0.0.1:22(Armbian 默认 SSH 端口)
  • 点击 Save host 保存配置。
  • 之后你就可以在外网通过 ssh your_username@ssh.yourdomain.com 直接连接 Armbian 了,无需公网 IP。
1
ssh your_username@ssh.yourdomain.com

手机端安卓Termux

1
cloudflared access tcp --hostname ssh.yourdomain.com --url 127.0.0.1:22
  • 运行后,它会在手机本地 22 端口建立一个通往 Armbian 的隧道。
  • 然后再开一个新终端窗口,执行:
1
ssh 你的Armbian用户名@ssh.yourdomain.com -p 22
  • 就连上了!

常用维护命令

1
2
3
4
5
6
7
8
9
10
11
// 查看隧道实时日志
journalctl -u cloudflared -f

// 重启隧道服务
sudo systemctl restart cloudflared

// 查看隧道连接状态
cloudflared tunnel info

// 停止隧道服务
sudo systemctl stop cloudflared