Muse 的云电脑配置还可以,8G 内存,磁盘 100G
隔壁 L 站看到的教程,目前仅需要一个托管在 Cloudflare 的域名就可以完成操作。
但是操作流程中实测下来,要一直审批通过访问某个网站,没法设置权限让它无需审批。
搞完才看到有个自动通过的网站审批的油猴脚本,我这里没试过,佬们可以自己试一下https://linux.do/t/topic/2947924
首先在设置中放开这些权限,能开的尽量都开了

将此文档链接丢给 MUSE,让它依照文档执行
但可能 AI 出于安全考虑,会让你通过集成把密码加密地发送给他。
进入 Cloudflare 控制台,打开:
Networking → Tunnels → Create Tunnel
新建一个 Tunnel,名称随意,例如:
muse-ssh
创建完成后,Cloudflare 会让你选择服务器系统,并生成一条类似这样的安装命令:
sudo cloudflared service install <TUNNEL_TOKEN>
把 Cloudflare 页面生成的完整命令复制给 AI,让 AI 在云端电脑中执行即可。连接成功后,Cloudflare 后台应该会显示 Tunnel 状态为:
Healthy
大概要像AI 提供以下东西,它会询问你
SSH 域名:ssh.example.com
Tunnel Token:xxxxx
SSH 公钥:ssh-ed25519 AAAA...
本地配置连接不能使用普通 SSH 客户端那样无脑输入主机名就连接,步骤比较繁琐。如果你不会的话,可以让 Codex 帮你做,把必要的密钥、连接信息发给它就行。
一、准备连接信息
准备以下三项:
| 信息 | 本文示例 | 用途 |
|---|---|---|
| SSH 入口域名 | ssh.example.com |
启动本地 cloudflared 代理 |
| 服务器用户名 | myuser |
SSH 登录 |
| 登录私钥 | 与云端 authorized_keys 中公钥配对的私钥 | SSH 身份认证 |
后面的示例需要替换域名、用户名和私钥路径。127.0.0.1:2222 是本机连接地址,不是云端服务器地址。
公钥通常以
ssh-ed25519 AAAA...开头,它应部署在服务器上。客户端登录使用的是与它配对的私钥,不能把公钥当成私钥导入,也不能仅凭公钥恢复私钥。若使用 Termius 生成密钥,请在 Termius 中选择原来那把密钥。
客户端不需要 Tunnel UUID、Tunnel token 或服务端 tunnel 凭据。不要在本机执行 cloudflared tunnel run,也不要把服务端 Tunnel token 填入 SSH 客户端。
二、在本机安装 cloudflared
Windows
在 PowerShell 中执行:
winget install --id Cloudflare.cloudflared --exact --accept-package-agreements --accept-source-agreements
安装后重新打开 PowerShell,确认命令可用:
cloudflared --version
如果没有 winget,可以从 Cloudflare 官方下载说明 下载适合电脑架构的 Windows 可执行文件,将其重命名为 cloudflared.exe。在该文件所在目录打开 PowerShell,后文命令中的 cloudflared 改写为 .\cloudflared.exe。
macOS
已安装 Homebrew 的电脑执行:
brew install cloudflared
cloudflared --version
Linux
按照 Cloudflare 官方下载说明 为对应发行版和 CPU 架构安装 cloudflared。安装后执行 cloudflared --version 确认可用。
三、启动本地代理
在 PowerShell 或终端中执行,替换为自己的 SSH 入口域名:
cloudflared access tcp --hostname ssh.example.com --url 127.0.0.1:2222
看到类似下面的日志,表示本地监听已启动:
INF Start Websocket listener host=127.0.0.1:2222
保持这个窗口运行,再打开 SSH 客户端进行连接。按 Ctrl+C 会停止代理;关闭窗口也会停止前台代理。重启电脑后需要重新启动。
注意:这条日志只说明本地端口已开始监听,不代表云端 SSH 已经连通。实际连接客户端时,cloudflared 才会建立到云端的连接。
如果该域名配置了 Cloudflare Access 登录策略,首次连接时可能弹出浏览器认证页面,按提示完成登录。这层认证与 SSH 私钥认证是两件事,完成浏览器登录后仍需要 SSH 私钥。
代理只监听 127.0.0.1,仅本机客户端可用。不要为了连接而改成 0.0.0.0,也无需开放 Windows 防火墙入站端口。
四、在 SSH 客户端中连接
Termius、Xshell、PuTTY 等图形客户端
新建一个 SSH 连接,填写:
| 设置项 | 填写内容 |
|---|---|
| 名称 | 自定义,例如 云端服务器-本地代理 |
| 主机 / Address / Host | 127.0.0.1 |
| 端口 / Port | 2222 |
| 用户名 / Username | 服务器用户名,例如 myuser |
| 认证方式 | SSH 密钥 / Public Key |
| 私钥 / Key | 与云端已部署公钥配对的私钥 |
| 跳板机 / Proxy / ProxyCommand | 不配置 |
使用 Termius 时,在连接的 Key 设置里选择对应的密钥。如果私钥有口令,连接时输入的是私钥口令,不是服务器密码。其他客户端若不支持该私钥格式,需要通过它们支持的密钥导入工具转换,例如 PuTTYgen。
这里不要填写公网域名,也不要使用远端 SSH 的 22 端口。本地代理已负责连接公网入口,客户端只需连接本机的 2222 端口。
命令行 OpenSSH
另外打开一个终端:
ssh -p 2222 [email protected]
如果私钥不在默认位置,用 -i 显式指定。
Windows PowerShell 示例:
ssh -p 2222 -i "C:\Users\你的用户名\.ssh\id_ed25519" -o IdentitiesOnly=yes myuser@127.0.0.1
macOS / Linux 示例:
ssh -p 2222 -i ~/.ssh/id_ed25519 -o IdentitiesOnly=yes [email protected]
IdentitiesOnly=yes 表示只尝试指定的登录密钥,避免客户端或 SSH Agent 提供其他密钥。
五、首次连接核对主机指纹
首次连接可能提示确认 SSH 主机指纹。虽然客户端连接地址是 127.0.0.1:2222,提示的公钥属于云端 SSH 服务器,不是本地 cloudflared。
通过服务器控制台或其他可信渠道,在云端执行:
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
将结果中的 SHA256:... 与客户端提示的 ED25519 指纹核对,一致后再接受。若客户端显示其他密钥类型,应核对服务器上对应类型的主机公钥。
不要通过关闭主机密钥校验来跳过这一步。后续若提示主机密钥发生变化,先确认是否确实重建过服务器或更换了主机密钥,再更新客户端记录。
六、日常使用与排障
日常连接顺序:先启动 cloudflared 本地代理,再打开 SSH 客户端连接 127.0.0.1:2222。断开 SSH 不会自动停止仍在运行的前台代理;停止代理会中断通过它建立的连接。
| 现象 | 检查方法 |
|---|---|
找不到 cloudflared 命令 |
安装后重新打开终端;手动下载的 Windows 程序使用 .\cloudflared.exe 或完整路径启动 |
address already in use / 端口被占用 |
检查是否已启动代理;若端口被其他程序占用,换成 127.0.0.1:2223,客户端端口同步改成 2223 |
Connection refused / 连接被拒绝 |
确认本地代理仍在运行,且客户端地址、端口与监听地址一致 |
websocket: bad handshake 或连接随即关闭 |
查看代理日志;核对公网域名、云端 tunnel 在线状态、SSH 路由及 Access 策略 |
Permission denied (publickey) |
核对用户名、选择的私钥以及云端 authorized_keys 中是否有对应公钥;Tunnel token 不能代替 SSH 私钥 |
| 浏览器要求 Cloudflare Access 登录 | 按域名的 Access 策略完成认证,再继续 SSH 连接 |
| 主机密钥变化警告 | 经可信渠道重新核对云端主机指纹;不要直接删除记录或忽略警告 |
System is booting up |
属于云端 SSH 状态问题,检查云端恢复流程及 /run/nologin,不是本地代理参数问题 |
本地代理通常只需要能访问域名的 HTTPS 服务,不需要直连公网 22 端口。若网络无法访问 Cloudflare,请先检查本机网络或出站代理设置。
七、本部署的实际示例
使用域名 ssh2.azora.top、用户名 aozora 时,启动代理:
cloudflared access tcp --hostname ssh2.azora.top --url 127.0.0.1:2222
客户端填写主机 127.0.0.1、端口 2222、用户名 aozora,选择服务器上已授权公钥对应的私钥。
命令行连接:
ssh -p 2222 [email protected]
如果这台电脑上已经运行了之前配置的本地代理,可以直接连接,不要重复启动另一个相同端口的代理。
牛
不错呀,很详细
这机器内存占用有点高啊

@kejilion #3
这个问题我也注意到了,主要是因为虚拟化环境被回收了。
估计是他想节省些成本吧。8G 应该是上限,你运行别的进程是可以把这个抢回来使用的