手机远程连接Claude Code与Codex:4套方案与避坑指南

📅 发布时间:2026/9/8 5:49:57
手机远程连接Claude Code与Codex:4套方案与避坑指南
下午三点地铁上我突然想看一眼家里电脑上那个跑了一半的 Claude Code 任务。离家之前我把它丢在终端里让它自己跑数据清洗现在手机屏幕亮着我却只能盯着聊天群发呆。那一刻我意识到与其等回家看结果不如把“手机远程连接 Claude Code 和 Codex”这件事彻底搞清楚。折腾了大概一个周末我试过 SSH 直连、网页版编辑器、云服务器常驻也踩了不少配置和账号的坑。这篇就把 4 套完整方案从选型、配置到避坑一次说清适合已经在本机跑通过 Claude Code 或 Codex、想在通勤或者出差时继续用手机遥控操作的人。先说结论手机远程连接的关键从来不是找什么“手机版 Claude Code”或“手机版 Codex”而是把手机当作一块能随时显示的远程屏幕真正干活的是你家里那台电脑或云服务器。下面每一套方案我都会讲清楚它解决什么问题、怎么配、坑在哪里。1. 谈远程前先理清Claude Code 和 Codex 真正运行在哪台机器1.1 手机不能直接扛起 CLI 的三个原因我见过不少人第一反应是“能不能直接在手机终端里装 Claude Code”理论上有路子比如 Termux 里装 Node.js 再 npm 全局安装但实践下来非常难受。第一个原因是环境碎片化。Claude Code 的配置散在~/.claude.json、~/.claude/目录里Codex 的配置在~/.codex/下里面还有登录态、对话历史、密钥信息。你在电脑上配好的所有细节换到手机上几乎全部要重新来一遍而且手机系统对文件系统的管理方式跟桌面端完全不同出问题以后很难排查。第二个原因是会话和长任务不可靠。Claude Code 和 Codex 都是交互式 CLI跑一个长任务时持续输出到终端。手机上的终端进程一旦被系统回收、切后台太久或者网络切换任务就断了甚至整个会话状态都会丢失。你总不希望代码才跑到一半打个电话回来就归零。第三个原因是键盘和实践方式。要在手机屏幕上敲/clear、/compact这类命令不是不行但效率很低而且 CLI 里很多快捷键在手机软键盘上根本没有。真正让我放弃直接在手机上跑 CLI 的是某次需要同时开三个会话、看日志、改文件手机屏幕完全不够用。所以我的判断是手机端可以临时应急但不能作为主力环境。更好的思路是让 CLI 留在电脑或服务器上手机只负责远程展示和操控。1.2 三种典型的远程拓扑既然目标是“远程连接”那先搞清楚数据流向。第一种是手机 → 书房电脑。适合人在外面、电脑在家开着的场景。距离可能是同一个 WiFi也可能是跨城市。难点在于如何让手机安全地够到这台电脑。第二种是手机 → 云服务器。适合需要 7×24 小时跑任务、电脑经常关机的场景。我在周末跑长任务时就喜欢丢到云服务器上手机关机都不影响。第三种是手机 → 局域网里某台工作设备。比如公司内网的开发机或者客厅里那台装了大内存的旧主机。这种通常要借助远程命令或 Web IDE让手机在同一个内网里访问服务。三种拓扑没有绝对好坏取决于你手头有什么设备、任务要跑多久、是否需要持续在线。1.3 本机先跑通再谈远程在配置任何远程方案之前我强烈建议先在本机把两块 CLI 都跑通。这不是废话而是很多人远程连上后发现一堆问题的根源往往是本机环境本身就半残。先在终端里确认环境node -v npm -v然后全局安装npm install -g anthropic-ai/claude-code npm install -g openai/codex安装后检查版本claude --version codex --version接着在一个空目录里实际跑一次claude或codex把登录流程走完。Claude Code 会打开浏览器做 OAuth 登录Codex 也有自己的登录命令。本机能跑通远程连接以后你面对的还是同一个 CLI只不过窗口从书房换到了手机。这一步别偷懒。远程操作时所有报错都会被网络问题放大本机干净后面排查才能有的放矢。2. 四套手机远程方案怎么选一张表回答“我该用哪个”我最终梳理出 4 套实用方案覆盖了“纯看结果、轻度编辑、重度改码、长期挂机”四类需求。先直接放结论后面再逐一细讲。方案一句话概括适合场景配置难度移动端体验SSH 直连用手机终端 App 直接连电脑或服务器跑 CLI 原生命令跑长任务、看日志、快速执行命令低终端流式输出省流量但纯文字VS Code Tunnel微软官方远程通道手机浏览器打开 VS Code 界面要看代码、改文件、在集成终端跑 CLI低图形界面体验接近桌面端code-server自托管网页版 VS Code部署在自己机器上需要完全掌控服务端、自定义扩展中界面和 VS Code 几乎一致云服务器常驻把 CLI 装到云服务器手机通过终端/网页连过去24 小时连续任务、定时任务、多人协作中高终端为主配合网页辅助2.1 各方案的关键差异SSH 直连是底线方案它最朴素但最可靠。只要手机和电脑之间网络可达你就能拥有一个真实的 shell所有快捷键、管道、脚本、tmux 都正常工作。缺点是如果你需要在手机上打开某个文件看一眼光靠终端还是不方便。VS Code Tunnel 是我现在用得最多的方案。它的好处是不需要公网 IP、不需要折腾路由器电脑上执行一条命令手机浏览器打开链接就能看到完整的编辑器。集成终端里照样跑 Claude Code 和 CodexPDF、图片、日志面板都能直接看。code-server 相当于把你自己的 VS Code 服务化。相比 VS Code Tunnel它更适合有多台设备、需要长期固定地址的人。但自托管意味着补丁、密码、端口暴露都要自己管新手容易踩安全坑。云服务器常驻则把“远程连接”上升到了“远程部署”。你不再需要关心家里电脑是否开机只需要手机连上服务器tmux 里挂着会话随时 attach 上去看进度。2.2 从需求倒推选择如果你今天只是想知道 Claude Code 那个任务跑完没有日志输出是不是正常那直接用 SSH 就够了打开 Termius 输入命令三秒钟看到结果。如果你需要改 prompt、调整代码甚至想在手机上 review 一下改动SSH 会略显吃力VS Code Tunnel 或 code-server 更合适。如果你是重度用户习惯让代理任务跑一整夜第二天早上收结果那云服务器常驻是唯一靠谱的选择。如果你的网络环境不稳定API 经常报错或者你担心 token 烧得太快可以在其中再加一层本地小模型兜底比如 Ollama。这个思路我在避坑章节单独展开。3. 方案一详解SSH 直连把手机变成第二块终端屏3.1 电脑端把 SSH 服务打开先说最简单也最通用的 SSH 直连方案。它的核心是把电脑变成一个 SSH 服务端手机用终端 App 连上来。Windows 11 和 Windows 10 较新版本都自带 OpenSSH Server。在“设置 → 系统 → 可选功能”里找到“OpenSSH 服务器”安装后再在服务里启动sshd。Linux 和 macOS 通常直接使用系统自带 SSHUbuntu 上如果没装执行sudo apt install openssh-server sudo systemctl enable --now ssh然后在本机验证ssh localhost这一步能通说明服务端已经正常工作。3.2 配置密钥登录密码登录关掉很多教程到这里就让你用手机 App 输密码连接我强烈不推荐。原因很简单你在手机上每次输密码都很痛苦而且密码在网络传输中的风险远高于密钥。更关键的是一但公网可达密码爆破攻击几乎是秒钟级别的事。在电脑上生成一对密钥ssh-keygen -t ed25519 -C mobile-access一路回车即可会生成~/.ssh/id_ed25519和~/.ssh/id_ed25519.pub。然后把公钥放到 authorized_keys 里cat ~/.ssh/id_ed25519.pub ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys私钥留在电脑上通过安全方式传到手机。我个人的习惯是手机终端 App 直接扫描电脑屏幕上的二维码导入私钥iOS 和 Android 上主流的终端工具都支持这种方式。3.3 手机终端 App 与日常操作手机端我推荐 Termius 或 Blink。Termius 跨平台免费版够用Blink 在 iOS 上体验更原生对键盘支持更好。导入私钥后新建一个主机填上电脑局域网 IP 或公网 IP用户名填系统用户名认证方式选密钥。连上之后的日常工作流是这样的tmux new -s coding claudetmux必须养成习惯。手机 App 一旦切后台SSH 连接可能会断但 tmux 里跑着的 Claude Code 进程不会挂。你重新连上以后执行tmux attach -t coding所有输出都还在这是远程使用 CLI 最核心的保命技能。SSH 方案的痛点也很明显纯文字界面看不到代码高亮没法快速定位某个文件里的问题。所以它适合“临时看一眼”和“跑长任务”不适合深度编辑。4. 方案二详解用 VS Code Tunnel 把编辑器搬进手机浏览器4.1 VS Code Tunnel 解决什么问题SSH 方案最大的门槛是网络可达。如果你人在外面手机跟家里的电脑不在一个局域网又没有公网 IPSSH 直连就直接失效。以前常见的解决办法是去路由器里做各种映射既麻烦又不安全。VS Code Tunnel 提供了一条更省心的路径。它是微软官方出品的远程开发通道只要电脑能访问外网执行一条命令它会自动建立一个安全的远程通道然后给你一个https://名字.tunnels.vscode.dev的地址。手机浏览器打开这个地址登录同一个账号就能看到电脑上的 VS Code 界面。我最早听到“远程隧道”四个字时下意识觉得会不会不安全实际看下来它是官方功能控制权和数据都留在你自己机器上手机上只是渲染界面和传输指令这一点可以放心。4.2 电脑端启用隧道前提是电脑上装了 VS Code并且code命令在 PATH 里。然后在终端执行code tunnel第一次运行会让你选择一个 GitHub 或微软账号登录。登录完成后它会生成一个唯一的名字比如my-host-name同时打印出可访问的地址。这个过程不需要你去路由器做任何设置也不需要公网 IP。如果你想让隧道长期跑着可以加一句code tunnel service install这样它会作为后台服务常驻电脑重启后也能自动恢复。4.3 手机端访问与操作手机浏览器打开它给的地址登录同一账号后你看到的就是一个完整的 VS Code 界面。这个界面同时支持鼠标和触摸操作手机横过来后编辑器区域能显示更多内容。实际使用中我发现手机浏览器上的 VS Code 性能相当不错打开一个中小型项目完全没问题。集成终端也保留着直接在里面敲claude或者codex就能调起 CLI。有一点需要提醒手机浏览器长时间开着容易吃内存如果只是跑长任务我建议用手机终端 App 跑 SSH tmux浏览器留给真正需要看代码的时候。用 VS Code Tunnel 时如果你在电脑上已经打开了同一个项目手机端也能看到文件变化因为底层是同一个工作区。这个特性在做“电脑上改、手机上查”的联动时特别实用。5. 方案三详解code-server 自托管网页 IDE适合深度改代码5.1 为什么还要自托管VS Code Tunnel 已经很好用了但有些人会有两个顾虑一是隧道服务依赖官方通道地址会变二是你没法完全自定义服务行为。code-server 就是把 VS Code 跑成一个你自己的 Web 服务固定 IP 和端口密码由你控制扩展随便装。这相当于你在自己的电脑上开了一间“网页版开发室”手机、平板、甚至公司电脑浏览器都能进。它和 VS Code Tunnel 的核心区别是Tunnel 通过官方通道连接code-server 是自己开启一个 HTTP 服务。5.2 安装与基础配置code-server 官方提供了安装脚本curl -fsSL https://code-server.dev/install.sh | sh装完后配置文件在~/.config/code-server/config.yaml核心两个字段bind-addr: 127.0.0.1:8080 password: your-strong-password这里我特意建议bind-addr先用127.0.0.1也就是只允许本机访问。如果你想在手机上远程访问不要直接改成0.0.0.0后暴露到公网那样会被扫描器盯上。更稳的做法是配合 SSH 连接访问手机上先用 SSH 连到电脑再做一个端口映射让手机浏览器访问127.0.0.1:8080。这样端口完全不会暴露在公网安全性高得多。如果你对网络比较熟悉希望开给多人用再考虑绑到指定内网 IP并配好防火墙白名单。5.3 手机浏览器里的真实体验code-server 在手机浏览器上的界面和桌面 VS Code 基本一致文件树、编辑器、终端、源代码管理一应俱全。触摸操作默认支持双指缩放、长按菜单都能用。最让我满意的是它支持安装扩展比如中文语言包、GitLens、甚至主题。远程调起 Claude Code 时我习惯先在 code-server 的集成终端里开一个 tmuxtmux new -s dev claude这样就算手机浏览器不小心关掉tmux 里的任务也不会丢。重新打开页面后tmux attach -t dev就能接着看。code-server 最适合的场景是“需要深度改代码”。比如 Claude Code 提出修改意见后你想直接在手机上打开源文件确认改动然后手动调整代码高亮和折叠比终端里舒服太多。6. 方案四详解云服务器常驻 手机终端 App打造 7×24 小时编码后台6.1 什么时候值得用云服务器如果你只是偶尔远程看一眼家里电脑常开SSH 或 Tunnel 完全够用。但如果你跟我一样喜欢让 Claude Code 跑一些耗时的数据处理、批量任务或者需要定时触发那云服务器常驻几乎是必须的。好处有几个电脑可以关机睡觉服务器网络稳定API 调用不容易断你可以用 cron 定时启动任务万一某个模型供应商临时出问题服务器上的重试脚本可以自动处理。我个人的最低配置是 2 核 2G 内存Ubuntu 22.04。CLI 本身非常轻量瓶颈主要在 Node.js runtime 和可能并行跑的任务数量。你要是同时开十几个会话2G 内存可能会告急建议升到 4G。6.2 服务器环境初始化云服务器拿到手后先创建一个普通用户不要用 root 直接干活adduser dev usermod -aG sudo dev然后用该用户登录安装 Node.js。推荐用 nvm 管理版本curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash nvm install 20接着全局安装 Claude Code 和 Codexnpm install -g anthropic-ai/claude-code npm install -g openai/codex登录这一步跟本机没区别。claude 和 codex 都支持 API Key 或 OAuth 登录。云服务器上的登录态会保存在用户目录里只要你不重置服务器就一直有效。6.3 tmux/systemd 让任务跑起来不丢云服务器最怕的就是 SSH 断开导致任务中断。tmux 是第一道保险tmux new -s nightly claude然后按CtrlB再按D退出会话任务继续跑。下次登录后tmux attach -t nightly如果是系统级的长驻服务可以考虑用 systemd 写一个单元文件把某个 Claude Code 任务常驻后台。但大多数场景下tmux 已经足够了因为它能让你随时看到交互式输出。我习惯在云服务器上建一个固定工作目录比如~/workspace/repo所有任务都在这个目录里跑。这样 tmux 会话、文件结构、日志路径都固定手机端记忆成本最低。6.4 手机端指挥后台手机端我用 Termius 保存好几个云服务器主机每个主机里预先配好 tmux 会话和常用命令。连接后第一件事是tmux ls看有哪些会话在跑然后 attach 对应的那个。如果你想让任务跑完主动通知你可以在命令末尾加一个简单的 webhook 调用或者让 Claude Code 输出到日志文件再用手机端脚本定时查看文件末尾。我目前的做法是任务跑完后往一个 Webhook 推一条消息手机就能收到推送不用一直盯着终端。7. 移动端实战避坑从安装报错到省 token 的亲历记录7.1 企业账号被禁用organization has disabled claude subscription access远程连上好几次本地claude却报出这句你的组织已禁用 Claude 订阅访问。这是订阅账号被组织策略限制导致的常见于公司统一开通的 Claude 账号。解决办法是换一个个人订阅账号或者找管理员把 Claude Code 的访问权限打开。如果你用的是 API Key通常不会遇到这个问题。我自己的处理是工作电脑用公司账号个人云服务器上单独配一个个人账号或 API Key两者互不影响。远程场景里出现这个报错时优先检查服务器上的登录态是不是绑定了某个组织账号必要时执行登录命令重新走一遍 OAuth。7.2 Codex 模型名不被支持远程配置 Codex 时我见过这个报错the gpt-5.6-sol model is not supported when using codex with a ...。翻译过来就是配置里写的模型名不被当前运行方式支持。这个坑通常出在自定义模型供应商配置上。Codex 支持通过配置文件指向第三方或本地模型服务如果你把model字段写成了一个不存在或不兼容的名字启动时就会立刻报错。解决方法是打开~/.codex/config.toml检查model_provider和model字段确认模型名与供应商实际提供的一致。远程操作时这个问题更容易踩因为你可能在手机里改配置少了本地 IDE 的提示。我的建议是所有配置修改都先在本机跑通再同步到远程机器。7.3 cc-switch 切换之后连不上很多人在 Claude Code 和 Codex 之间切换模型供应商时会用 cc-switch 这类工具。它在远程场景下的问题是你在本地切换了配置但远程终端里的 CLI 可能还在用旧的缓存配置导致一连上就报连接错误或响应异常。遇到这种情况不要急着重装。先把终端会话完全退出重新开一个或者检查 cc-switch 生成的配置文件是否真的写到了~/.claude/和~/.codex/目录。如果项目里有.env或.codex/config.toml覆盖了全局配置那优先改项目级配置。我见过有人在手机端远程操作时用 cc-switch 切到某个本地模型组合比如配合 Ollama结果 Ollama 服务没启动CLI 自然连不上。这种情况的排查顺序先确认服务在跑再确认配置指向正确最后重启终端。7.4 省 token 的远程使用姿势远程用 Claude Code 和 Codex流量大、token 消耗快省 token 成了刚需。我的经验有几条。第一善用/compact。对话上下文太长时主动压缩历史让模型只保留关键信息能显著减少续约成本。别等系统提醒你再操作。第二任务拆细。一个复杂任务拆成多个小步骤每一步单独让 Claude Code 跑比一次堆一个大 prompt 更省 token而且出错后重试成本低。第三用只读模式。Claude Code 支持某些只读操作让模型只读文件、不改文件能减少很多上下文请求。第四本地小模型兜底。Ollama 这类本地模型可以在远程网络不稳定或 API 出问题的时候顶上执行一些简单任务比如格式化输出、重命名变量、生成注释。它不擅长复杂推理但用来做脏活累活很划算。不过要提醒一句Claude Code 对本地模型的兼容方式比较特殊别直接照搬网上配置先看官方文档或在自己机器上做小范围实验。7.5 移动网络下的连接保活最后说一个远程操作的共性问题网络切换。手机从 WiFi 切到 5GSSH 连接立刻断开tmux 里的任务却还在。这就要求你养成一个条件反射所有远程任务必须在 tmux 里跑否则一切白搭。同时手机终端 App 的后台保活也要设置一下。iOS 上允许后台运行安卓上关闭电池优化。避免手机锁屏后连接被系统杀掉。8. 远程工作流收尾我现在的手机启动姿势与安全习惯8.1 我的日常组合现在我的手机上保留了一套固定组合Termius 管 SSHVS Code Tunnel 管图形界面code-server 只在内网才开。白天在公司电脑在家里挂着 VS Code Tunnel手机随时打开链接看任务输出。晚上在家云服务器的 tmux 里挂着长任务我睡前用 Termius 看一眼进度没问题就安心睡觉。项目需要深度调整时如果人不在电脑前就用 code-server 打开网页版编辑器处理。8.2 三个安全底线第一密钥和设备严格管理。私钥一旦传到手机就要像对待银行卡密码一样对待它。手机本身要设置锁屏和指纹Termius 这类 App 也支持独立密码建议打开。第二云服务器不直接用密码登录。我在服务器上创建了普通用户只用密钥认证完全没有密码登录通道。如果你必须开密码登录至少把PermitRootLogin关掉并使用高强度密码。第三端口暴露范围越小越好。code-server 这类 Web 服务默认绑到本机或内网不要让服务裸奔到公网。能通过 SSH 访问就绝不直接开端口。8.3 把远程操作变成肌肉记忆这些方案刚配好时我总觉得多此一举。但用了几周之后手机远程连接 Claude Code 和 Codex 已经成了我的肌肉记忆长任务必开 tmux看结果先用 Termius看代码再开 Tunnel。每次在地铁上打开手机能直接看到家里的或云服务器上的任务进度那种掌控感是远程开发最爽的部分。如果你也经常在电脑前和手机上两头跑不妨从最简单的那套方案开始先跑通一个再慢慢叠加。别一上来就把服务器、code-server、隧道全部配齐那样只会让你在配置里迷路。先让一个任务能在手机上看到输出你就赢了。