cloudflared设置

tao 21天前 57

程序安装用官方的步骤就可以,比如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 <you token>


以上是标准安装,下面可以diy改一改了不至于老是离线。

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那种不行,还需要内部认证,

最简单的先认证一个key

CF-Access-Client-Id: 

CF-Access-Client-Secret: 

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


后面就需要用同样装了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端口冲突就行>




最新回复 (0)
返回
发新帖