只有IPv6怎么连SSH?Cloudflare Tunnel让IPv4网络也能丝滑访问!

只有IPv6怎么连SSH?Cloudflare Tunnel让IPv4网络也能丝滑访问!

书接上回。

前两天给大家推荐的那台年付$2.99的日本VPS,性价比确实高,但入手的小伙伴们普遍遇到了一个拦路虎:

"这机器只有IPv6地址,我在公司/家里的宽带只有IPv4,根本连不上SSH怎么办?"

难道每次都要用手机开热点才能连服务器?太麻烦了!

今天,我就教大家一个终极解决方案:利用 Cloudflare Tunnel(CF隧道)给你的VPS打通一条"秘密通道"。

效果: 配置好后,你可以在任何只有IPv4的网络环境下,直接通过域名连接这台VPS,无需公网IP,无需端口映射!


准备工作

在开始之前,你需要准备好以下三样东西:

  1. 那台$2.99的VPS(已开机)
  2. 一个域名(几块钱一年的那种就行),并且已经托管到了Cloudflare(免费版账户即可)
  3. 临时IPv6环境(仅第一次配置时需要,用来安装软件。还是老办法:手机开热点给电脑连)

第一步:在VPS上安装 Cloudflared

首先,用手机热点或者有IPv6的网络,通过SSH登录到你的VPS上。

登录成功后,复制下面的命令粘贴进去,下载并安装Cloudflared(以Debian/Ubuntu系统为例):

# 下载安装包
curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb

# 安装
sudo dpkg -i cloudflared.deb

安装完成后,输入 cloudflared --version,如果能看到版本号,说明安装成功。


第二步:登录并创建隧道

这一步是把你的VPS和Cloudflare账号绑定。

1. 登录认证

在VPS里输入命令:

cloudflared tunnel login

这时候屏幕上会弹出一长串URL链接。

操作: 复制这个链接,在你电脑的浏览器里打开。登录你的Cloudflare账号,选择你的域名,点击"Authorize"(授权)。

授权成功后,VPS的屏幕上会提示"Successfully logged in"。

⚠️ 安全提示: 认证后会在 /root/.cloudflared/ 目录生成凭证文件,务必妥善保管,不要泄露!

2. 创建隧道

给你的隧道起个名字,比如叫 vps299。输入命令:

cloudflared tunnel create vps299

关键点: 命令执行后,屏幕上会显示一个 Tunnel ID(UUID格式,一串长长的字符),一定要复制下来记在记事本里!同时系统会自动生成一个 你的UUID.json 文件。

3. 绑定域名

我们要把隧道绑定到一个二级域名上,比如 ssh.你的域名.com。输入命令:

# 格式:cloudflared tunnel route dns <隧道名> <二级域名>
cloudflared tunnel route dns vps299 ssh.yourdomain.com

记得把 yourdomain.com 替换成你自己的域名!

💡 说明: 这条命令会自动在Cloudflare创建一条CNAME记录,无需手动添加DNS。

第三步:配置隧道转发SSH

我们需要告诉隧道:当外面的请求进来时,把它转发给VPS内部的SSH端口(默认是22)。

1. 创建配置文件

输入命令:

mkdir -p /root/.cloudflared/
nano /root/.cloudflared/config.yml

2. 写入配置

在编辑器里粘贴以下内容(注意替换你的UUID):

tunnel: 你的UUID
credentials-file: /root/.cloudflared/你的UUID.json

ingress:
  - hostname: ssh.yourdomain.com
    service: ssh://localhost:22
  - service: http_status:404

说明:

  • 第1行:填你刚才记下来的Tunnel ID
  • 第2行:这个.json文件在创建隧道时已自动生成
  • 第5行:填你绑定的域名
  • 最后一行:默认404规则(必须保留)

Ctrl+O 保存,按 Ctrl+X 退出。


第四步:启动并设置开机自启

配置写好了,现在我们要启动它,并让它以后开机自动运行。

# 安装服务
cloudflared service install

# 启动服务
systemctl start cloudflared

# 查看状态
systemctl status cloudflared

如果看到绿色的 active (running),恭喜你,服务端配置完成!

常见问题排查

如果启动失败,用以下命令查看日志:

journalctl -u cloudflared -f

如果连接不上,检查DNS是否生效:

dig ssh.yourdomain.com

第五步:在本地电脑安装 Cloudflared

重要: 要连接隧道,你的本地电脑(客户端)也需要安装 cloudflared!

Windows系统

  1. 访问:https://github.com/cloudflare/cloudflared/releases
  2. 下载 cloudflared-windows-amd64.exe
  3. 重命名为 cloudflared.exe 并放到 C:\Windows\System32\ 目录

macOS系统

brew install cloudflared

Linux系统

# 下载安装包
curl -L --output cloudflared-linux-amd64.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb

# 安装
sudo dpkg -i cloudflared-linux-amd64.deb

安装完成后,在终端输入 cloudflared --version 验证是否成功。


第六步:配置SSH连接

现在,你可以断开手机热点,切回你只有IPv4的公司/家里WiFi了。

方法一:修改SSH配置文件(推荐)

编辑SSH配置文件:

Windows: 在用户目录下创建 .ssh\config 文件
macOS/Linux: 编辑 ~/.ssh/config 文件

写入以下内容:

Host ssh.yourdomain.com
  ProxyCommand cloudflared access ssh --hostname %h

保存后,就可以像平时一样用SSH连接了:

ssh [email protected]

方法二:直接使用命令连接

如果不想配置文件,也可以每次用这个命令连接:

cloudflared access ssh --hostname ssh.yourdomain.com

然后按提示输入用户名和密码。

方法三:使用SSH客户端(XShell、FinalShell等)

大部分SSH客户端都支持ProxyCommand。以XShell为例:

  1. 新建会话
  2. 主机:ssh.yourdomain.com
  3. 在"连接"设置里,找到"代理"选项
  4. 命令行填写:cloudflared access ssh --hostname ssh.yourdomain.com

为什么不能直接SSH连接?

你可能会问:为什么不能直接 ssh [email protected] 就连上?

原因: Cloudflare的HTTP代理默认不支持SSH协议的22端口。直接连接会显示"Connection closed"错误。

必须通过 cloudflared 客户端建立专用隧道连接才行。


进阶玩法:同时暴露Web面板

如果你的VPS上装了宝塔、1Panel等Web面板,可以同时把它也暴露出来。

修改 /root/.cloudflared/config.yml,改成这样:

tunnel: 你的UUID
credentials-file: /root/.cloudflared/你的UUID.json

ingress:
  - hostname: ssh.yourdomain.com
    service: ssh://localhost:22
  - hostname: panel.yourdomain.com
    service: http://localhost:8888
  - service: http_status:404

然后重启服务:

systemctl restart cloudflared

记得也绑定一下panel的DNS:

cloudflared tunnel route dns vps299 panel.yourdomain.com

现在你可以用 http://panel.yourdomain.com 直接访问面板了!这个不需要客户端安装cloudflared,浏览器直接打开就行。


总结

经过这波操作,这台只有IPv6的VPS,在Cloudflare Tunnel的加持下,已经变成了一台全网通的神机。

关键点回顾:

  • 服务端(VPS)要安装并配置 cloudflared
  • 客户端(你的电脑)也要安装 cloudflared
  • SSH连接必须通过 ProxyCommand 方式,不能直接连

虽然比预想的多了一步(客户端也要装软件),但配置一次后就能一劳永逸,无论你在哪里,只要有网,就能连上它!

如果你觉得教程有用,记得点个"在看"支持一下!

Read more

fnm + uv + rustup:打造 Debian/Ubuntu 下最丝滑的开发环境“三剑客”,彻底告别 Linux 权限地狱

fnm + uv + rustup:打造 Debian/Ubuntu 下最丝滑的开发环境“三剑客”,彻底告别 Linux 权限地狱

作为一名长期在 Linux 服务器上工作的开发者,我见过不少因权限管理不当导致的问题:有人为了装最新的 Node.js 强行添加了来源不明的 PPA,结果导致 apt 依赖损坏,系统无法正常更新;有人习惯了 sudo pip install,直到某天发现系统自带的工具因为 Python 库版本冲突而无法运行;还有的人在 npm i -g 时遇到 Permission denied,最后执行了 sudo chmod -R 777 /usr/lib。 今天这篇文章,介绍如何用普通用户权限在 Debian/Ubuntu 下配置 Node.js、Python 和 Rust 开发环境,彻底避免上述问题。 为什么要坚持非 root 安装? 保护系统稳定性。

By serverinf
除了 127.0.0.1,你电脑里其实还住着 1600 万个“自己”

除了 127.0.0.1,你电脑里其实还住着 1600 万个“自己”

身为开发者,你一定每天都在和 127.0.0.1 打交道。 启动后端服务、连接 Redis、调试 API…… 在我们的潜意识里: 127.0.0.1 = localhost = 本机。 但你有没有想过: 为什么偏偏是 127? 既然 127.0.0.1 代表自己,那 127.0.0.2 又是谁? 甚至,为什么 Linux 里还有一个诡异的 127.0.1.1? 今天,我们拆开这个被用了 40 年的“回环地址”包裹,看看里面藏着哪些你不知道的秘密。 一、

By serverinf
全球机房探秘:第 5 期:韩国机房:全球网速最快国家的真相,北方用户的隐藏福利

全球机房探秘:第 5 期:韩国机房:全球网速最快国家的真相,北方用户的隐藏福利

摘要:千兆入户的"网速天堂",为什么连回国内却经常卡顿?KT、SK、LG 怎么选?韩国 VPS 到底适合谁? 在上一篇日本机房的文章里,我们聊了"白天法拉利,晚上拖拉机"的线路选择难题。今天,我们把目光投向一个自带光环的地方——韩国机房。 经常关注科技新闻的朋友都知道,在各类全球网速排行榜上,韩国经常霸占榜首,千兆(1Gbps)甚至万兆网络入户简直是家常便饭。 很多新手就会想:"既然韩国网速全球第一,那我买个韩国 VPS,速度岂不是原地起飞?" 先别急着掏钱! 理想很丰满,现实往往有点骨感。欢迎来到《全球机房探秘》第六站,今天我们来扒一扒"全球最快网速"背后的真相。 01 真相一:内网&

By serverinf
拒绝"挤爆"内存:部署 OpenClaw 到底需要多高配置的 VPS /云服务器?

拒绝"挤爆"内存:部署 OpenClaw 到底需要多高配置的 VPS /云服务器?

最近 AI 圈最火的开源项目,莫过于被称为“大龙虾”的 OpenClaw 了。 如果你还没听说过它,简单解释一下:它不是那种只能陪你聊天的机器人,而是一个真正的“数字员工”。它能自己查资料、写代码、操作你的服务器终端、甚至在浏览器里帮你下单购物。这种“自主性”让无数开发者直呼:AI 终于从“只会动嘴”进化到“能动手干活”了。目前 OpenClaw 在 GitHub 上已积累超过 68,000 个 Star,是目前增速最快的开源项目。 然而,很多新手兴冲冲地在自己吃灰多年的“1核 1G”入门级 VPS 上部署后,迎来的不是效率的飞跃,而是没完没了的断连、报错、卡死。 今天,我们就来拆解一下:想要稳稳地跑起

By serverinf