Claude Code 是 Anthropic 推出的终端 AI 编程助手,能在 VPS 上直接通过命令行完成代码编写、命令执行、文件操作等任务。相比本地运行,把 Claude Code 部署在 VPS 上可以 7×24 小时在线,方便团队共享或远程调用。但很多人在配置 SSH、项目目录和权限时踩坑,本文直接给出可复用的配置方案。

为什么要在 VPS 上跑 Claude Code
Claude Code 本身是一个 Node.js 命令行工具,通过 API 调用 Claude 模型。如果你只有一台本地电脑,每次使用都得开机,而 VPS 可以保持在线。部署在 VPS 上后,你可以在任何地方通过 SSH 连接使用它,甚至结合 n8n 或 Open WebUI 做自动化工作流。不过,SSH 配置不当会导致连接失败或安全漏洞,项目目录权限太松容易误删文件,权限太紧又跑不起来。
SSH 配置:密钥认证 + 禁用密码
1. 生成 SSH 密钥对(本地执行)
ssh-keygen -t ed25519 -C "claude-code-vps"
ed25519 比 RSA 更安全且性能更好。如果你已有密钥,跳过这一步。
2. 将公钥上传到 VPS
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@你的VPS_IP
如果 VPS 是第一次连接,可能提示输入密码。成功后再次 SSH 就不需要密码了。
如果 `ssh-copy-id` 不可用,手动复制公钥内容到 VPS 的 `~/.ssh/authorized_keys` 文件里。
3. 修改 VPS 上的 SSH 配置
登录 VPS 后编辑 `/etc/ssh/sshd_config`:
sudo nano /etc/ssh/sshd_config
重点修改以下几行:
PermitRootLogin prohibit-password # 禁止 root 密码登录,保留密钥
PasswordAuthentication no # 禁止密码认证
PubkeyAuthentication yes # 启用密钥认证
保存后重启 SSH 服务:
sudo systemctl restart sshd
老鸟叮嘱:改完后先别关当前 SSH 窗口,另开一个终端测试连接。如果密钥登录失败,你还有救。确认没问题再退出。
项目目录:非 root 用户 + 最小权限
Claude Code 会读写项目文件、执行命令,建议创建一个专用系统用户,不要用 root 跑所有服务。
1. 创建用户
sudo adduser claudeuser
sudo usermod -aG sudo claudeuser # 如果需要 sudo 权限,视情况添加
加 `sudo` 组是为了让 Claude Code 能执行一些需要管理员权限的命令(如安装依赖),但最好只在需要时临时授权,不要直接给全部 sudo 权限。
2. 设置项目目录
sudo mkdir -p /home/claudeuser/projects
sudo chown claudeuser:claudeuser /home/claudeuser/projects
sudo chmod 750 /home/claudeuser/projects
权限 750 表示:所有者读写执行、同组读执行、其他人无权限。Claude Code 运行在这个用户下,只能操作自己的项目目录。
3. 安装 Node.js 和 Claude Code
切换到 claudeuser 用户:
su – claudeuser
安装 nvm(Node 版本管理):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 18 # Claude Code 要求 Node >= 18
安装 Claude Code:
npm install -g @anthropic-ai/claude-code
验证安装:
claude –version
权限配置:API Key、环境变量与命令执行
1. 配置 API Key
Claude Code 需要 Anthropic API Key。不要写在脚本里或暴露在命令行历史中。推荐存在环境变量文件:
echo 'ANTHROPIC_API_KEY=sk-ant-xxxxx' >> /home/claudeuser/.bashrc
source /home/claudeuser/.bashrc
或者创建 `.env` 文件,权限设置为 600:
echo 'ANTHROPIC_API_KEY=sk-ant-xxxxx' > /home/claudeuser/projects/.env
chmod 600 /home/claudeuser/projects/.env
Claude Code 默认读取当前目录下的 `.env`,如果你用其他路径,可以在启动时指定 `–env-file`。
2. 限制命令执行范围
Claude Code 可以在终端执行任意命令,风险较大。建议:
• 使用 `claude –cwd /home/claudeuser/projects` 指定工作目录,禁止它访问上层目录。
• 如果只写代码不执行,可以加 `–no-exec` 参数。
• 生产环境考虑用 Docker 隔离,但本文不展开。
3. 日志和权限审计
定期检查日志:
sudo journalctl -u sshd –since "1 hour ago" | grep "Failed password"
查看 Claude Code 执行记录(如果开启了日志):
cat /home/claudeuser/.claude/logs/*.log
确保 claudeuser 没有写 `/etc`、`/var/log` 等系统目录的权限。
老鸟叮嘱
•不要把 API Key 写死在代码里。有些人图方便直接把 Key 放在 index.js 里,结果上传到 GitHub 被扫号。
•SSH 端口可以改。默认 22 端口每天被脚本扫描几千次,改到 2222 或其他高位端口能减少大量暴力破解。改完后记得更新防火墙规则。
•不要给 claudeuser 全部 sudo 权限。如果 Claude Code 被恶意提示词诱导执行 `sudo rm -rf /`,后果严重。精确授权,比如只允许 `sudo apt install` 等特定命令。
•定期更新 Claude Code。`npm update -g @anthropic-ai/claude-code` 能修复已知漏洞。
•使用 screen 或 tmux。SSH 断开后 Claude Code 进程会退出,用 `screen -S claude` 启动,断开后重连 `screen -r claude` 即可继续。
FAQ
Q1:Claude Code 需要什么 VPS 配置?
A:对 CPU 和内存要求不高,1 核 1GB 的 VPS 就能跑,因为计算在 Anthropic 云端完成。但需要稳定网络,建议带宽 1Mbps 以上。
Q2:Claude Code 能同时多人使用吗?
A:原生不支持多用户共享。每个 SSH 连接会启动独立的 Claude Code 进程,但 API Key 是共用的。多人同时使用会消耗同一个 API 配额,且日志会混在一起。建议每人一个独立用户或使用代理转发。
Q3:安装时提示权限不足怎么办?
A:`npm install -g` 需要写 `/usr/local/lib/node_modules`,普通用户没有权限。要么用 sudo 安装全局包,要么用 `npx` 临时运行(`npx @anthropic-ai/claude-code`)。推荐用 nvm 安装 Node,这样全局包会装在用户目录下,不需要 sudo。
Q4:Claude Code 如何更新?
A:`npm update -g @anthropic-ai/claude-code`。如果版本变化大,有时需要重新安装:`npm install -g @anthropic-ai/claude-code@latest`。
Q5:SSH 连接经常断开怎么办?
A:在 VPS 的 `/etc/ssh/sshd_config` 中设置 `ClientAliveInterval 60` 和 `ClientAliveCountMax 3`,这样服务器每 60 秒发一次心跳包,超过 3 次无响应才断开。客户端也建议在 `~/.ssh/config` 中加 `ServerAliveInterval 60`。
Q6:Claude Code 可以操作其他目录吗?
A:默认可以操作当前目录及子目录。如果想限制,启动时用 `–cwd` 指定根目录,并且确保该用户没有其他目录的写权限。更严格的做法是用 Docker 挂载只读卷。
Claude Code 在 VPS 上跑起来并不复杂,关键是 SSH 安全、目录隔离和权限控制这三步。别急着上线,先在测试环境把权限捋清楚,能省掉后面很多麻烦。
—
**相关阅读:**
– [n8n VPS 部署教程:搭建自己的自动化工作流平台](https://www.zhujixuan.com/jishujiaocheng/9892.html)
– [VPS部署AI工具100讲:AI Agent、Codex、Claude Code、Hermes Agent、Ollama与自动化工作流实战教程](https://www.zhujixuan.com/jishujiaocheng/9606.html)
– [AI Agent自动化运维实战100讲:VPS巡检、日志分析、告警处理与工作流教程](https://www.zhujixuan.com/jishujiaocheng/10066.html)
转载请注明出处:https://www.zhujixuan.com/jishujiaocheng/9812.html 商家投稿邮箱:zhujixuanblog@qq.com
