惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
G
Google Developers Blog
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
J
Java Code Geeks
P
Proofpoint News Feed
V
Visual Studio Blog
爱范儿
爱范儿
The Cloudflare Blog
博客园 - 叶小钗
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
M
MIT News - Artificial intelligence
Microsoft Security Blog
Microsoft Security Blog
博客园 - 聂微东
H
Help Net Security
B
Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 【当耐特】
量子位
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - 火冰·瓶

Cloudflare Tunnel 有两种模式 Cloudflare + .NET Core MVC 部署完整流程 net core 后端获取网络图片的扩展名 推荐好用的web控件 ubuntu运维 使用Frp+Caddy把https映射到内网的web服务 net core中结合EntityFrameworkCore的DB first使用PostgreSQL OneDrive中设置不同步某个文件夹 Framework 4.7老项目运行到caddy Action<T> 和 Func<T>的用法 EF Core经验 net core随记 asp.net core 记录页面访问次数,同一个IP一个小时只算一次 asp.net core 记录页面访问记录 asp.net core 发布到caddy asp.net core发布到Caddy获取用户的真实ip 统计文章阅读量,一小时内重复刷新的不重复统计 使用on()方法绑定事件,解决动态加载的元素事件绑定 鼠标悬停在图片上方时,显示文字
用 Cloudflare Tunnel 实现从外网 SSH 登录内网服务器
火冰·瓶 · 2026-04-15 · via 博客园 - 火冰·瓶

🟩 一、准备工作

你需要:

  • 一个 Cloudflare 已接管的域名(你已经有 fireicesion.cc)

  • 内网服务器(Windows / Linux 都可以)

  • cloudflared 已安装(你已经有)

🟩 二、创建 SSH 专用 Tunnel(你已有 Tunnel 可复用)

你已经有:

所以你不需要重新创建。

如果要新建:

cloudflared tunnel create ssh-tunnel

🟩 三、修改 config.yml(添加 SSH 代理规则)

打开你的:

D:\OneDrive\tools\cloudflared\config.yml

在 ingress 中添加 SSH 规则:

tunnel: my-tunnel
credentials-file: C:\Users\x13 2024\.cloudflared\2d159a09-d0b2-4884-9fad-d7dccef53ae3.json

ingress:
  - hostname: ssh.domainname.cc
    service: ssh://localhost:22
  - hostname: manage.domainname.cc
    service: http://localhost:5056
  - service: http_status:404

⚠️ 注意:

  • Windows 服务器默认没有 SSH,需要安装 OpenSSH Server

  • Linux 默认 22 端口即可

🟩 四、Cloudflare Zero Trust 中添加 Public Hostname

进入:

https://one.cloudflare.com

路径:

Networks → Tunnels → my-tunnel → Public Hostnames → Add

填写:

  • Hostname: ssh.domainname.cc

  • Service: ssh://localhost:22

保存后 Cloudflare 会自动创建 DNS 记录。

🟩 五、客户端安装 cloudflared(外网电脑)

你要从外网 SSH,需要在外网电脑安装 cloudflared。

Windows / Linux / Mac 都可以。

🟩 六、外网电脑运行 cloudflared access ssh

外网电脑执行:

cloudflared access ssh --hostname ssh.domainname.cc

第一次会弹出浏览器要求登录 Cloudflare(Zero Trust 认证)。

认证成功后,cloudflared 会自动生成 SSH 配置。

🟩 七、外网电脑 SSH 登录内网服务器

现在你可以直接:

ssh finder@ssh.domainname.cc

Cloudflare 会自动:

  • 建立加密隧道

  • 验证身份

  • 转发 SSH 流量

  • 连接到内网服务器

🟩 八、可选:免浏览器登录(自动生成 SSH config)

cloudflared 会自动生成:

内容类似:

Host ssh.domainname.cc
  ProxyCommand cloudflared access ssh --hostname %h

之后你可以直接:

ssh finder@ssh.domainname.cc

无需再打开浏览器。

🟩 九、可选:使用windows的OpenSSH代理

安装 Windows OpenSSH
Windows 10/11 自带,只是默认可能没启用。启用方式:设置 → 应用 → 可选功能 → 添加功能 → OpenSSH Client

然后在如下配置文件中添加

C:\Users\x13 2024\.ssh\config

Host htpc
  HostName htpc_ssh.xxxxxxx.cc
  User htpc
  ProxyCommand D:\OneDrive\tools\cloudflared\cloudflared.exe access ssh --hostname %h

ProxyCommand cloudflared access ssh --hostname %h

关键点:ProxyCommand 是 OpenSSH 的功能
这是 OpenSSH 专用语法。
如果 Windows 没有安装 OpenSSH Client,那:
ssh 命令不存在
~/.ssh/config 不会被读取
ProxyCommand 根本无法执行

配置好后在ssh工具中

image