手机远程连接Claude Code与Codex:4套方案与避坑指南
2026/9/8 5:49:49 网站建设 项目流程

下午三点,地铁上,我突然想看一眼家里电脑上那个跑了一半的 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

接着在一个空目录里实际跑一次claudecodex,把登录流程走完。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 和 Codex,PDF、图片、日志面板都能直接看。

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 通常直接使用系统自带 SSH,Ubuntu 上如果没装,执行:

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 claude

tmux必须养成习惯。手机 App 一旦切后台,SSH 连接可能会断,但 tmux 里跑着的 Claude Code 进程不会挂。你重新连上以后执行:

tmux attach -t coding

所有输出都还在,这是远程使用 CLI 最核心的保命技能。

SSH 方案的痛点也很明显:纯文字界面,看不到代码高亮,没法快速定位某个文件里的问题。所以它适合“临时看一眼”和“跑长任务”,不适合深度编辑。

4. 方案二详解:用 VS Code Tunnel 把编辑器搬进手机浏览器

4.1 VS Code Tunnel 解决什么问题

SSH 方案最大的门槛是网络可达。如果你人在外面,手机跟家里的电脑不在一个局域网,又没有公网 IP,SSH 直连就直接失效。以前常见的解决办法是去路由器里做各种映射,既麻烦又不安全。

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 的集成终端里开一个 tmux:

tmux 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 和 Codex:

npm 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

然后按Ctrl+B再按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_providermodel字段,确认模型名与供应商实际提供的一致。

远程操作时这个问题更容易踩,因为你可能在手机里改配置,少了本地 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 切到 5G,SSH 连接立刻断开,tmux 里的任务却还在。这就要求你养成一个条件反射:所有远程任务必须在 tmux 里跑,否则一切白搭。

同时,手机终端 App 的后台保活也要设置一下。iOS 上允许后台运行,安卓上关闭电池优化。避免手机锁屏后连接被系统杀掉。

8. 远程工作流收尾:我现在的手机启动姿势与安全习惯

8.1 我的日常组合

现在我的手机上保留了一套固定组合:Termius 管 SSH,VS 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、隧道全部配齐,那样只会让你在配置里迷路。先让一个任务能在手机上看到输出,你就赢了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询