Ubuntu 下安装 cloudflared 报错?官方源配置保姆级教程
最近在给一台 Ubuntu 服务器折腾 Cloudflare Tunnel 的时候,遇到了一个小坑。本来以为 cloudflared 作为 Cloudflare 的官方工具,应该已经进了 Ubuntu 的默认软件源,结果直接一通 apt install cloudflared 操作猛如虎,回头一看输出 0-5。
这就很尴尬了,明明是常用的网络工具,居然还要手动折腾?查了一下才发现,Cloudflare 为了保证工具的迭代速度和版本管理,并没有把 cloudflared 提交给 Ubuntu 的默认仓库,而是维护了自己的官方 APT 源。
既然直接装不到,那我们就把官方源配上,以后不仅能直接装,还能顺利用 apt update 升级,一劳永逸。下面就把详细的配置步骤分享给大家,过程其实很简单,几分钟就能搞定。
需要什么环境?
本文适用于大多数现代 Ubuntu 版本(如 20.04, 22.04, 24.04 等),操作需要 root 权限或者能够使用 sudo 的普通用户。
第一步:安装必要依赖
在添加新的软件源之前,我们需要先确保系统里有 https 传输的支持工具,否则 apt 没法从 Cloudflare 的安全源下载数据。
执行以下命令安装依赖:
sudo apt-get update && sudo apt-get install -y wget gnupg
wget 用于下载配置文件和密钥,gnupg 则是用于处理加密签名的工具,这俩都是标配。
执行 cloudflared --version 验证安装成功并查看版本
第二步:添加 Cloudflare 的 GPG 密钥
为了安全起见,我们需要添加 Cloudflare 官方的 GPG 公钥,这样 apt 才能验证从该源下载的软件包是否被篡改过。
我们可以直接创建一个目录来存放密钥:
sudo mkdir -p --mode=0755 /usr/share/keyrings
然后下载并导入 Cloudflare 的公钥:
# 这里的 -O 参数指定下载的文件保存路径和名称
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
如果没有 curl,用 wget 也可以:
wget -qO- https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
第三步:添加 APT 源
密钥配好了,接下来就是把软件源地址写进系统的 sources 列表里。为了避免污染默认源,也方便管理,我们单独创建一个文件来存放。
使用 echo 命令直接写入配置(这里包含了签名的密钥路径):
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared jammy main' | sudo tee /etc/apt/sources.list.d/cloudflared.list
注意: 上面命令里的 jammy 是 Ubuntu 22.04 的代号。如果你用的是其他版本,记得替换一下:
- Ubuntu 20.04:
focal - Ubuntu 24.04:
noble - 不确定的话可以用
lsb_release -cs查看一下自己的系统代号。
第四步:安装与验证
配置完源,先跟系统打个招呼,更新一下包索引:
sudo apt-get update
``
如果没有报错,说明源配置成功。现在就可以愉快地安装了:
```bash
sudo apt-get install cloudflared
安装完成后,验证一下版本号,确保能正常运行:
cloudflared --version
``
只要输出了具体的版本号(比如 2024.x.x),说明大功告成!
### 为什么不直接下载二进制包?
很多教程会直接教你 `wget` 二进制文件然后 `chmod +x` 运行,这种方法确实简单,但缺点也很明显:
1. **版本管理麻烦:** 升级时必须重新下载新版本覆盖旧版本,容易忘记清理垃圾文件。
2. **缺少依赖检查:** apt 会自动帮你处理依赖关系,手动下载则可能遇到缺少动态库的问题。
3. **系统整洁度:** 放入 `/usr/local/bin` 或其他目录虽然能用,但在软件管理上比较“野路子”,不符合包管理器的规范。
配置官方源虽然前期多了几行命令,但后续维护成本低,也更符合 Linux 的管理哲学。
### 总结
下次再遇到 `apt install cloudflared` 失败的情况,别急着去 GitHub 执行行找 Release,先配个官方源才是正解。不仅安装方便,后续更新也只需要一句 `apt upgrade --only-upgrade cloudflared` 就能搞定。
如果在使用过程中遇到 `NO_PUBKEY` 或者签名验证失败的报错,通常是第二步的公钥没下载好,或者是网络连接到了 Cloudflare 的服务有问题(懂的都懂),多试几次或者检查一下代理设置即可。
希望这个小技巧能帮大家省点时间,愉快地开启内网穿透之旅!

评论已关闭