1. 首页 > 技术教程 > 正文

Claude Code VPS 使用指南:SSH、项目目录和权限配置

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

zhujixuan TASK 105

为什么要在 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