Tao's Blog
神级工具之 Cloudflare Tunnel -- cloudflared
Updated 2026-01-23 23:02:53
安装Cloudflared

程序安装用官方的步骤就可以,Windows的话下载这里

Linux的话,以Debian/Ubuntu为例(升级也是用一样的代码)

Add cloudflare gpg key

sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-public-v2.gpg | sudo tee /usr/share/keyrings/cloudflare-public-v2.gpg >/dev/null

Add this repo to your apt repositories

echo 'deb [signed-by=/usr/share/keyrings/cloudflare-public-v2.gpg] https://pkg.cloudflare.com/cloudflared any main' | sudo tee /etc/apt/sources.list.d/cloudflared.list

install cloudflared

sudo apt-get update && sudo apt-get install cloudflared

装了之后在官网里面创建隧道,会有token

运行一下就可以

sudo cloudflared service install 


安装后修改Cloudflared配置让不离线
sudo nano /etc/systemd/system/cloudflared.service

默认应该是这样的

[Service]
ExecStart=/usr/bin/cloudflared tunnel run --token <你的token>
User=cloudflared
Restart=on-failure

改成这样就可以了

[Service]
TimeoutStartSec=0
Type=notify
ExecStart=/usr/bin/cloudflared --no-autoupdate tunnel run --token <你的token>
Restart=always
RestartSec=5s
User=root

后面可以重启服务

sudo systemctl daemon-reload
sudo systemctl restart cloudflared
sudo systemctl enable cloudflared

HTTP那种可以直接映射端口,

但是SSH,RDP那种不行,还需要内部认证



通过cloudflared连SSH

最简单的先认证一个key

CF-Access-Client-Id:

CF-Access-Client-Secret:

然后还要把子域名设置好,比如ssh://子域名 然后映射的是ssh://localhost(或可达IP):监听端口

后面就需要用同样装了cloudflared的客户端开一个TCP连接持续

cloudflared access tcp --hostname <你的子域名> --service-token-id <你的key的ID> --service-token-secret <你的key的Secret> --listener localhost:<任意端口,别和你真正的sshd端口冲突就行>

这个正常开了之后,窗口就会继续给你shell了,正常的,再开一个窗口好了

再开一个窗口就可以连远程的ssh了

ssh <ssh用户名>@localhost -p <和上面一致的任意端口,别和你真正的sshd端口冲突就行>
Comments
0 public / 0 total
暂无公开留言。
每 IP 每小时最多 10 条(防止滥用)
2026-02-03 19:39:37 UTC+8 · 粤ICP备2020133391号-3 · 粤公网安备 44030502008986号