怎么在云服务器上跑 Claude Code(24 小时运行 + 手机随时连)

一台基础配置的 Linux 云服务器、一行官方安装命令,再加上 tmux,就能让 Claude Code 在你合上笔记本后继续干活。下面是完整的搭建步骤,包括国内与海外服务器怎么选、怎么接模型、手机怎么连以及安全加固清单。

为什么要把 Claude Code 放到服务器上

把 Claude Code 装在云服务器上,最大的好处是让任务和你的电脑解耦:笔记本合盖、休眠、断网或者关机,服务器上的代码重构和测试依然在跑,你随时能换台设备或掏出手机看进度。

Claude Code 本质上是一个运行在终端里的本地程序。你在哪台机器上启动它,它就在哪台机器上读写文件、执行命令。一旦这台机器休眠,正在跑的任务就会中断。把它搬到一台 24 小时在线的 Linux 云服务器上,能同时解决三个问题:

  • 长任务不会断。大型重构、循环跑测试、数据库迁移可以在后台一直跑完,不用守着电脑。
  • 多设备随时接力。会话保存在服务器里,在公司电脑、家里电脑或手机上看到的都是同一个现场。
  • 本地电脑零负担。编译、Docker 容器和依赖安装都吃服务器的资源,不占本地内存和电量。

Anthropic 官方虽然提供了两个远程方案,但都有明确限制。根据官方文档,Remote Control(远程控制)的会话依然跑在你自己的电脑上,所以你的电脑必须保持开机和联网;而网页版云端会话(Claude Code on the web)强制要求绑定 claude.ai 账号,不支持自带 API Key,也没法接入国产大模型或第三方中转站。自己管一台服务器,就没有这些限制。

服务器怎么选:配置要求与境内/境外取舍

选一台至少 2 核 4 GB 内存、装主流 Linux 发行版(Ubuntu 或 Debian)的云服务器;至于选国内云还是境外 VPS,完全取决于你打算接哪家的模型接口以及拉取代码的网络环境。

硬件与系统要求

根据 Claude Code 官方系统要求,服务器需要满足:Ubuntu 20.04+、Debian 10+ 或 Alpine 3.19+ 系统,x64 或 ARM64 架构处理器,以及至少 4 GB 内存。低于这个内存,安装或运行过程中很容易因为内存不足被系统直接杀死(OOM)。

除了 Claude Code 本身,你还要给项目编译、跑测试和 Docker 留出余量:

日常用途建议起步配置
写脚本、小型前后端项目、轻量重构2 vCPU、4 GB 内存、40 GB 硬盘
带数据库或 Docker 的全栈项目4 vCPU、8 GB 内存、75 GB+ 硬盘
大型编译、同时开多个 Claude Code 会话6+ vCPU、12 GB+ 内存、100 GB+ 硬盘

境外 VPS 还是国内云服务器?

中国大陆读者在买服务器时,最容易踩坑的是网络连通性。你可以按下面的实际情况来取舍:

境外 VPS(美西、日本、新加坡等)省心首选适合需要直连 Anthropic 官方接口、用 Claude 订阅账号,或经常从 GitHub、npm、Docker Hub 拉依赖的场景。
国内云服务器(阿里云、腾讯云等)低延迟 + 国产模型SSH 敲命令延迟极低,直连 DeepSeek、智谱、百炼等国内模型接口快,但访问海外资源受限。
  • 官方接口与地区限制:Anthropic 官方服务与 API 不支持中国大陆(及香港等不在支持列表内的地区)。如果你用 Claude Pro/Max 订阅登录,或者直连 Anthropic 官方 API,服务器必须选在 Anthropic 支持的国家和地区(例如美国、日本、新加坡),否则登录或调用会返回 403 错误。
  • 安装包与开发依赖:Claude Code 的官方一键安装脚本托管在 claude.ai,日常写代码也经常要连 GitHub。中国大陆不在 Anthropic 的支持地区内,官方安装脚本在不支持的地区会返回 403;选国内机器时,模型也只能接国产模型的官方接口。
  • SSH 延迟与备案:国内服务器连 SSH 基本没有延迟,敲命令跟本地终端一样跟手;境外 VPS 从国内直连会有一定延迟(选美西、日本或新加坡通常在可接受范围内)。另外,网站备案取决于服务器是否在中国内地并对外提供网站服务,具体以所用云厂商的规则为准。
  • 注意计费方式:很多云厂商的按量付费实例,在控制台点“关机”后磁盘等资源依然会继续计费(只有删除实例才完全停止计费)。买之前先看清计费规则。

第一步:创建普通用户(不要直接用 root)

拿到新服务器后,先创建一个带 sudo 权限的普通用户来跑 Claude Code,不要全程用 root,这样就算 AI 执行了误删或改错配置的命令,破坏范围也是可控的。

先用云厂商给你的 root 账号登录一次服务器,执行下面的命令创建新用户(把 dev 换成你喜欢的用户名):

在服务器上(root 权限)
# 创建用户并加入 sudo 组(Debian/Ubuntu)
adduser dev
usermod -aG sudo dev

接着回到你自己的电脑上,把本地的 SSH 公钥传给这个新用户,以后就能免密登录了:

在你自己的电脑上
ssh-copy-id dev@你的服务器IP
ssh dev@你的服务器IP

如果你电脑上还没有 SSH 密钥对,先在本地运行 ssh-keygen -t ed25519 生成一对,私钥留在自己电脑上,绝不要外传。

安装 Claude Code

推荐使用官方原生安装脚本:它不需要预装 Node.js,直接把可执行文件装在当前用户的家目录下,并且会在后台自动更新。

在服务器上(用刚创建的普通用户)
curl -fsSL https://claude.ai/install.sh | bash
claude --version

下载过程中终端不会显示进度条,耐心等它跑完即可。装好后运行 claude --version,能打印出版本号就说明成功了;你还可以运行 claude doctor 做一次环境自检。

如果官方脚本在你的服务器上拉不下来,官方文档还提供了另外两种安装途径:

  • 系统包管理器(apt / dnf / apk):Anthropic 提供了带签名的软件源,装好后可以跟着系统升级一起更新。
  • npm 安装:如果你的机器上本来就有 Node.js(要求 Node.js 22 及以上版本),可以运行 npm install -g @anthropic-ai/claude-code。注意官方明确提醒不要加 sudo。npm 包安装下来的其实也是同一个原生二进制程序。

登录与模型接入:国产模型、中转站、API Key 或官方订阅

装好之后,你需要给 Claude Code 接上大模型。对于国内开发者,最常见的是写入 ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN 来接国产模型或中转站;如果你在境外 VPS 上,也可以直接用 Anthropic 官方 API Key 或 Claude 订阅账号。

方式一:接入国产大模型官方接口或中转站(国内最常用)

DeepSeek、智谱 GLM、Kimi(月之暗面)、阿里云百炼(通义千问)、MiniMax 等国内厂商,都已经官方提供了兼容 Anthropic 格式的接口。中转站(聚合 API)的原理也完全一样:给 Claude Code 指定一个请求地址(Base URL)和一个密钥(Token)。

最干净的做法是把它们写进用户目录下的 ~/.claude/settings.json 文件里(没有就新建一个)。这样不管你从哪个目录启动 claude,配置都会自动生效:

~/.claude/settings.json(以 DeepSeek 为例)
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
    "ANTHROPIC_AUTH_TOKEN": "在这里填入你的密钥",
    "ANTHROPIC_MODEL": "deepseek-flash[1m]",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-flash"
  }
}

如果你用的是其他国产厂商或第三方中转站,只需把上面的 ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN 以及模型名称,替换成对应平台文档里提供的值即可。各家厂商的具体地址和写法,可以参考我们的另一篇指南:Claude Code 国内怎么用?接国产模型或中转站的完整方法。

安全提醒:千万不要把包含密钥的配置写进项目目录里的 .claude/settings.json 并提交到 Git 仓库——Anthropic 文档特别警告过,项目级的配置文件会共享给所有克隆该仓库的人。设置好后,在 Claude Code 里输入 /status,就能确认当前生效的接口地址和认证方式。

方式二:使用 Anthropic 官方 API Key

如果你有可用的 Anthropic Console 账号,可以直接按 Token 用量付费。把官方生成的 Key 写进 ~/.claude/settings.json 的 ANTHROPIC_API_KEY 字段即可(不需要改 Base URL):

~/.claude/settings.json(官方 API Key)
{
  "env": {
    "ANTHROPIC_API_KEY": "sk-ant-你的官方API密钥"
  }
}

根据官方文档,只要环境变量里设置了 ANTHROPIC_API_KEY,即使你之前登录过订阅账号,Claude Code 也会优先使用这个 API Key 计费;想切回订阅账号,需要把这个变量删掉或执行 unset ANTHROPIC_API_KEY。

方式三:使用 Claude 订阅账号登录(Pro / Max / Team 等)

如果你在境外 VPS 上,并且有付费的 claude.ai 订阅账号(Pro、Max、Ultra、Team 或 Enterprise,免费版不支持 Claude Code),可以直接用账号登录:

  1. 启动并复制登录链接

    在服务器终端运行 claude。因为服务器上没有图形浏览器,按键盘上的 c 键(或直接鼠标选中)复制终端里打印出的登录 URL。

  2. 在本地电脑浏览器完成授权

    在你自己电脑的浏览器里打开刚才复制的链接,登录你的 Claude 账号,页面会给出一个授权码(Code)。

  3. 把授权码粘贴回服务器终端

    回到服务器的 Paste code here 提示处,把授权码粘贴进去回车即可。如果交互界面粘贴没反应,官方建议改跑 claude auth login 命令,它会从标准输入读取授权码。

如果你需要写自动化脚本跑无值守任务,可以运行 claude setup-token 生成一个有效期一年的 OAuth 令牌,填到 CLAUDE_CODE_OAUTH_TOKEN 环境变量里使用(注意这种令牌不支持开启 Remote Control)。

用 tmux 保持 24 小时后台运行

在服务器上跑 Claude Code,一定要把它放在 tmux 会话里启动;否则你的 SSH 连接一旦因为网络波动断开,正在跑的 claude 进程就会被系统直接终止。

tmux 是一个终端复用工具,它能让终端会话一直留在服务器后台,你可以随时断开(detach),过几个小时再从另一台电脑或手机重新接上(attach)。Anthropic 在 Remote Control 文档中也建议:在远程机器上运行 claude 时放进 tmux 或 screen,这样断开 SSH 后会话不会掉线。

tmux 常用命令
sudo apt install tmux        # Debian/Ubuntu 安装 tmux
tmux new -s work             # 创建并进入一个叫 work 的会话
claude                       # 在 tmux 里面启动 Claude Code

# 想离开时:先按 Ctrl+b,松开后再按 d(会话会留在后台继续跑)

tmux ls                      # 查看后台有哪些会话
tmux attach -t work          # 下次连上服务器,重新回到 work 会话

记住一个最省事的命令:tmux new -A -s work。它的意思是“如果已经有叫 work 的会话就直接连进去,没有就新建一个”。平时用电脑或手机连上服务器后,直接敲这一行就够了。

注意:tmux 能扛住 SSH 断线,但扛不住服务器重启。如果服务器重启了,重新跑一次 tmux new -A -s work 并启动 claude 即可。

在手机上怎么远程连上去用

把 Claude Code 部署在服务器上之后,你有三种办法从手机访问它:装一个手机 SSH 客户端连 tmux、用 Anthropic 官方的 Remote Control,或者直接用浏览器工作台。更详细的对比可以看 手机上怎么用 Claude Code。

办法一:手机 SSH App + tmux(不挑模型,最通用)

在手机上装一个支持 SSH 的终端 App(Android 常用 Termux 或 JuiceSSH,iOS 常用 Blink Shell、Termius 或 Prompt),导入你的私钥连上服务器,然后执行 tmux new -A -s work,就能直接看到刚才电脑上留下的 Claude Code 界面。

这种方式对所有模型接法都有效(国产模型、中转站、API Key 都能用)。缺点是手机屏幕小、敲长命令费劲,适合在外面看一眼进度、审批一下权限(按回车确认),或者发一两句简短的指令。

办法二:加装 Tailscale 组建私有内网(更安全)

如果你不想把服务器的 22 端口暴露在公网上天天被机器人扫,可以在服务器和手机上都装上 Tailscale,登录同一个账号,把它们放进同一个虚拟局域网里:

在服务器上安装 Tailscale
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

你还可以运行 tailscale set --ssh 开启 Tailscale SSH。开启后,凡是通过 Tailscale 内网连过来的请求,直接由 Tailscale 验证身份,连 SSH 密钥都不用在手机上配,同时也不会改动你原有的 sshd 配置。配通之后,你就可以在云厂商防火墙里把公网的 22 端口彻底关掉了。

办法三:官方 Remote Control(仅限官方订阅账号)

Anthropic 提供了 Remote Control 功能,让你用手机上的 Claude App 或网页版 claude.ai/code 直接遥控服务器上的会话。用法是在服务器的 tmux 里运行 claude remote-control,然后在手机上打开终端显示的链接,或按空格键显示二维码后扫码。它只向外发起 HTTPS 请求,不需要服务器开放入站端口。

但它的限制非常严,绝大多数国内用法都用不了:

  • 必须使用 claude.ai 订阅账号登录(不支持 API Key)。
  • 只要你的 ANTHROPIC_BASE_URL 指向了非官方地址(即非 api.anthropic.com),Remote Control 会被直接禁用——也就是说国产模型和中转站全部无法使用此功能。
  • 服务器上的 claude 进程必须一直保持运行。

因此,只要你用的是国产模型、中转站或者按量计费的 API Key,手机端就请老老实实用 SSH,或者用下面介绍的浏览器工作台。

服务器安全加固清单(必做)

一台刚开通的公网云服务器,几分钟内就会被全网的扫描器盯上。把代码和 API 密钥放上去之前,请至少做完下面 6 件事:

  1. 禁用密码登录与 root 远程登录

    先开第二个终端窗口,确认你的普通用户用 SSH 密钥能正常登录。确认无误后,编辑服务器上的 /etc/ssh/sshd_config,改成下面这样:

    /etc/ssh/sshd_config
    PasswordAuthentication no
    KbdInteractiveAuthentication no
    PermitRootLogin no

    改完先运行 sudo sshd -t 检查语法有没有错,没报错再重启 SSH 服务(Debian/Ubuntu 上是 sudo systemctl restart ssh,部分其他发行版是 sshd)。有些云镜像自带的子配置文件会覆盖主配置,建议跑一下 sudo sshd -T | grep -i -E "passwordauth|permitroot",确认实际生效的值确实是 no。在测试新窗口能连上之前,别关掉手头现有的终端。

  2. 开启防火墙(ufw)

    Ubuntu 默认没启用 ufw。启用前必须先放行 SSH 端口,否则会把自己锁在门外:

    配置 ufw 防火墙
    sudo ufw allow 22/tcp
    sudo ufw enable
    sudo ufw status

    只有当你需要在服务器上对外展示网页时,才去额外放行 80 和 443 端口。

  3. 安装 fail2ban 防暴力破解

    fail2ban 会自动监控 /var/log/auth.log 等日志,把连续试错密码或密钥的 IP 直接封禁一段时间。在 Debian/Ubuntu 上运行 sudo apt install fail2ban 即可装好,用 sudo fail2ban-client status 可以查看运行状态。

  4. 日常绝不用 root 跑 Claude Code

    始终用你的普通用户启动 claude。遇到 Claude Code 询问是否允许执行某条危险命令时,看一眼再点确认,不要无脑全部放行。

  5. 管好 API Key 和 Git 凭证

    把接口密钥放在 ~/.claude/settings.json 里,并确保文件权限只有你自己能读写(chmod 600 ~/.claude/settings.json)。在 Linux 上,Claude Code 默认也会把登录凭证以 0600 权限保存在 ~/.claude/.credentials.json。服务器上拉代码时,尽量用只针对单个仓库的 Deploy Key(部署密钥)或限制了权限范围的个人访问令牌(PAT)。

  6. 保持系统与工具更新

    原生安装的 Claude Code 会自动更新;操作系统层面,建议在 Debian/Ubuntu 上开启 unattended-upgrades 自动安装安全补丁。

成本怎么算:服务器租金 + 模型消耗

自己在云服务器上跑 Claude Code,总花费由两部分相加:固定付给云厂商的服务器租金,加上按实际使用量付给模型厂商的费用。

  • 服务器费用:按月或按小时固定计费。只要服务器实例还存在,不管你今天有没有打开 Claude Code,这笔钱都在走。记得留意流量包超额、额外挂载硬盘和自动快照是不是单独收费。
  • 模型费用:如果你接的是国产模型、中转站或官方 API Key,都是按 Token 消耗量扣费的——让 Claude Code 在后台自动循环改 Bug、跑测试,一晚上消耗的 Token 费用完全可能超过服务器本身的月租。如果你用的是固定月费的套餐(如 Claude Pro/Max 或部分国产厂商的包月编程套餐),则是消耗套餐内的额度上限。

最稳妥的办法是:先按平时的真实工作强度跑上一周,把云厂商账单和模型后台的消耗加起来乘以 4,就能算出你每个月的真实开销。

常见问题排查(Troubleshooting)

新服务器上部署遇到报错,十有八九是环境变量 PATH、内存不足、网络拦截或认证冲突,按下面的症状对号入座即可:

  • 装完提示 claude: command not found:官方安装脚本会把程序装在 ~/.local/bin/claude,但这个目录可能还没加进你的 PATH。运行 echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc 即可解决。
  • 安装过程中突然显示 Killed(退出码 137):服务器可用内存不够,进程被 Linux 内核杀掉了。按照官方排查文档的做法,先用 fallocate、mkswap 和 swapon 挂载一个 2 GB 的 Swap 交换文件,或者直接升级到 4 GB 以上内存的机型,再重新运行安装脚本。
  • 运行安装脚本返回一堆 HTML 或 403 错误:说明服务器当前的网络被拦截了,或者服务器所在地区不在 Anthropic 支持列表内(官方安装脚本在不支持的地区会返回 403)。这种情况请换用支持地区的服务器。
  • 配了国产模型或中转站,但一直报 401 / 403 认证错误:在 Claude Code 里输入 /status 检查当前生效的配置。看看是不是环境变量名拼错了(应为 ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN),或者机器上同时残留了旧的 ANTHROPIC_API_KEY 和登录状态——可以执行 /logout 退出账号后重启 claude。
  • OAuth 登录提示 Invalid code:授权码过期了,或者复制的时候漏了字符。重新运行登录,按 c 键完整复制链接并在浏览器里快速完成授权。
  • SSH 重连后发现之前跑的任务没了:说明你上次是直接在普通 SSH 窗口里敲的 claude,没进 tmux。下次记得先跑 tmux new -A -s work,在里面再启动 Claude Code。
  • claude remote-control 启动失败:先往上翻看“办法三”里的限制条件——只要你用的是 API Key、国产模型或中转站,这个功能就是不可用的。如果是官方订阅账号还连不上,可以跑 claude remote-control --verbose 查看详细报错日志。

不想自己配服务器?用 AlwaysAgent 开箱即用

如果你想要“任务 24 小时在云端跑、手机随时能看”的效果,但不想自己去买 VPS、配 SSH 密钥、调防火墙和记 tmux 命令,可以直接用 AlwaysAgent。

AlwaysAgent 给每位用户分配一台独享的云端 Linux 服务器(带独立公网 IP),里面已经预装好了 Claude Code 和 OpenAI Codex。你不需要装任何客户端,也不用配 SSH,直接在电脑或手机浏览器里打开工作台,就能用上 AI 对话、文件管理、终端、远程浏览器预览和版本记录。关掉电脑或浏览器标签页后,任务依然在你的服务器上 7×24 小时继续运行。

  • 自带模型接口,平台不赚差价:在工作台设置里直接填入 Base URL 和 API Key 即可——无论是 DeepSeek、智谱、Kimi 等国产模型官方接口,还是第三方中转站、OpenRouter,或是 Anthropic / OpenAI 官方 Key 都能用。密钥只保存在你自己的服务器上,平台不经手 AI 调用、不加价,也不转售模型额度。
  • 计费透明,先试再买:支持按小时试用,充值 $10 起,约 $0.05/小时(注意:按小时服务器在关机状态下也会继续计费,删除服务器即停止计费;充值 14 天内未消费余额可退,扣除手续费)。如果觉得好用,可以一键转成月付套餐并自动迁移数据:Starter $9.9/月(2 核 4GB 40GB)、Developer $17.9/月(4 核 8GB 75GB)、Pro $24.9/月(6 核 12GB 100GB)、Power $44.9/月(8 核 24GB 200GB),全部不限流量、包含每日自动快照,到期自动续费且可随时取消。

常见问题

云服务器跑 Claude Code,选国内服务器还是国外 VPS?
取决于你用什么模型和代码源。如果你用国产大模型(如 DeepSeek、智谱、Kimi)且代码托管在国内平台,国内云服务器延迟最低;如果你要用 Claude 官方订阅账号、Anthropic 官方 API Key,或者经常从 GitHub、npm 拉包,选美西、日本或新加坡的境外 VPS 会省去很多网络折腾。
跑 Claude Code 的服务器最低需要什么配置?
按照 Anthropic 官方要求,内存至少需要 4 GB(安装程序本身也需要约 512 MB 以上的空闲内存,1 GB 或 2 GB 的小机器很容易在安装时因为内存不足被系统杀死)。日常写代码建议从 2 核 4 GB 起步;如果要跑 Docker 或大型项目编译,建议选 4 核 8 GB 及以上配置。
服务器上的 Claude Code 可以接 DeepSeek、智谱或中转站吗?
可以。在服务器上的 ~/.claude/settings.json 文件里,把厂商或中转站提供的接口地址填进 ANTHROPIC_BASE_URL,把密钥填进 ANTHROPIC_AUTH_TOKEN 即可生效,用法和在本地电脑上完全一样。
为什么我关掉 SSH 窗口后,服务器上的 Claude Code 任务就断了?
因为直接通过 SSH 启动的程序会绑定在当前连接上,网络一断进程就会收到挂断信号退出。解决办法是先在服务器上运行 tmux new -A -s work 进入 tmux 会话,再在里面启动 claude;这样就算关掉电脑或断开 SSH,任务也会在后台继续跑。
接了国产模型或中转站,还能用 Claude 官方的手机 Remote Control 吗?
不能。Anthropic 官方的 Remote Control 强制要求使用 claude.ai 订阅账号登录,且一旦检测到 ANTHROPIC_BASE_URL 不是官方地址就会自动禁用。如果你用国产模型、中转站或 API Key,想在手机上用,可以通过手机 SSH 客户端连 tmux,或者使用 AlwaysAgent 这类直接支持手机浏览器的云端工作台。
在服务器上安装 Claude Code 必须要先装 Node.js 吗?
不需要。使用官方推荐的 curl -fsSL https://claude.ai/install.sh | bash 命令安装的是独立原生二进制程序,不依赖 Node.js。只有当你选择用 npm install 方式安装,或者你自己的项目本身需要 Node 环境时,才需要安装 Node.js。

不想自己折腾服务器和运维?

AlwaysAgent 给你一台预装好 Claude Code 和 Codex 的独享 Linux 云服务器,电脑和手机浏览器打开就能用,不用配 SSH。

先试再买 $0.05/h →