博客

在远程服务器上通过 SSH 跑 Claude Code:安装与取舍

服务器比笔记本大,而且不睡眠。这两点足够成为把 Claude Code 放上去的理由。这篇是能用的安装步骤,以及随之而来的取舍。

RoamAI 团队发布于 2026年9月9日

安装与登陆

Claude Code 需要 Node.js 18 或更新的版本。用普通用户全局安装,不要用 root:

npm install -g @anthropic-ai/claude-code

然后登陆。服务器上没有浏览器,所以启动 claude 后运行 /login,它会打印一个 URL。在你的笔记本上打开这个 URL,用有 Claude 订阅的那个账号授权,再把页面给出的码粘回终端。登陆状态是按 Unix 用户各存一份的,所以要用将来运行会话的那个用户来登陆。

给它建一个专用用户。以 root 运行时,Claude Code 拒绝在关闭权限检查的模式下启动(直接以状态码 1 退出),而且用 root 跑它本来就不是好主意。

保活

在 tmux 里启动,这样 ssh 会话结束时它还在:

tmux new -s claude
cd ~/code/storefront
claude

按 Ctrl-b 再按 d 分离,之后用 tmux attach -t claude 接回来。从笔记本或手机连的话,用 mosh 代替 ssh,IP 变化和短暂断网时连接不会断。细节见合上笔记本后怎么让 Claude Code 继续跑。

文件放在哪

Claude 读的和写的全在服务器上。这本来就是把它放上去的目的,同时也是代价:你的编辑器、你的 git 客户端、你看 diff 的工具都在笔记本上。最后你得在三种安排里选一种:

  • 也在服务器上干活。用 VS Code Remote-SSH 或终端编辑器,让服务器持有唯一一份代码。最简单,前提是服务器随时连得上。
  • 同步。在服务器上 git push、在笔记本上 pull,或者双向 rsync。两份代码,哪一份是最新的要自己记着。
  • 挂载。用 sshfs 之类把服务器的目录挂到本地。连接正常时能用;一断网,读写就会卡住或报 I/O 错误,Claude 的工具调用也跟着失败。

三种都不算错。要提前决定的是:哪一份才是真正的那一份。

服务器上的权限确认

Claude Code 在做有风险的操作前照样会停下来问,而服务器的终端前没有人回答。两个粗暴的选项:用 --dangerously-skip-permissions 全部自动批准(在一次性容器里没问题,在放着重要东西的机器上很危险),或者在配置里放行特定命令,只让不常见的操作来问。权限确认详解。

服务器要多大

一个常驻的 Claude Code 进程大约占 300 到 400 MB RSS。同一台机器上再起一个,只多占大约 120 MB,因为二进制的内存页是共享的。1 GB 的 VPS 跑一个会话很宽裕,配上 swap 能跑两个。实测数据。

RoamAI 在哪个位置

RoamAI 把会话放在服务器上(托管的,或者你用一条命令接进来的),文件留在运行客户端的那台电脑上。你会得到一个按「谁在等你」排序的会话列表,会话停下时会收到推送。接入自己的服务器。

不用自己维护服务器,会话也一直在

RoamAI 把 Claude Code 跑在托管机器或你接进来的服务器上,会话需要你时会通知你。注册免费,工作区 $9 / 月。

开始使用

← 全部文章