LI YAO'S BLOG

有趣的人生, 一半家长里短, 一半山川胡海

Amazon Linux 上通过 VS Code Remote SSH 远程使用 Claude Code 完整指南

Amazon Linux 上通过 VS Code Remote SSH 远程使用 Claude Code 完整指南

很多人第一次接触 Claude Code 时,会下意识地想:能不能把它部署在 VPS 上,然后本地电脑像访问一个网页服务一样去使用?

对于这个需求,更合适、也更稳的实现方式并不是把 Claude Code 做成一个公网 Web 服务,而是:

  • Claude Code 安装在 Amazon Linux 云服务器上
  • 项目代码放在云服务器上
  • 本地电脑通过 VS Code 的 Remote SSH 连接远程主机
  • 在本地 VS Code 中直接打开远程项目目录
  • Claude Code 实际运行在远程服务器环境中

这种方式更符合 Claude Code 的使用形态,也更适合长期开发、调试和部署。

Anthropic 官方文档说明,Claude Code 提供了 VS Code 原生扩展,这是在 VS Code 中使用 Claude Code 的推荐方式;扩展还包含 CLI,可直接在 VS Code 集成终端中使用。citeturn150083search0


一、为什么推荐这种方案

这个方案的核心价值在于:开发入口在本地,执行环境在远端。

也就是说:

  • 你本地看到的是 VS Code 图形界面
  • 你编辑的是服务器上的真实项目文件
  • Claude Code 读取、修改、执行命令的环境也是服务器
  • 不需要额外给 Claude Code 暴露公网端口

这样做有几个明显好处:

1. 环境统一

很多项目都有“本地能跑、服务器不能跑”的问题。把代码、依赖、运行环境都放在 Amazon Linux 服务器上后,Claude Code 处理的就是最终真实环境。

2. 更适合远程开发

如果你的项目本来就部署在 EC2、VPS 或远程 Linux 主机上,这种方式几乎就是最自然的工作流。

3. 本地电脑压力更小

依赖安装、命令执行、日志分析都在远程服务器进行,本地主要承担编辑器界面的角色。

4. 安全性更高

Claude Code 本身并不是一个典型的公网服务程序。通过 SSH 或 VS Code Remote SSH 使用,比额外套一层网页服务更稳妥。


二、先决条件

在开始之前,先确认你具备以下条件。

本地电脑需要准备

  • 已安装 VS Code
  • 本地网络可以稳定连接服务器
  • 能正常使用 SSH
  • 有浏览器可用于 Claude Code 首次登录授权

云服务器需要准备

  • Amazon Linux 2 或 Amazon Linux 2023
  • 可 SSH 登录
  • 有普通用户账号
  • 可以正常联网访问 Claude 登录和相关服务
  • 已经准备好项目目录,或者计划把项目放到服务器上

Claude Code 账号要求

Claude Code 需要可用的 Anthropic 账号计划。首次打开扩展或首次运行 CLI 时需要登录。citeturn150083search0turn150083search1


三、先确认 Amazon Linux 版本

先登录服务器:

1
ssh ec2-user@你的服务器IP

查看系统版本:

1
cat /etc/os-release

如果输出里看到:

1
VERSION="2023"

说明你是 Amazon Linux 2023。

如果输出里看到:

1
VERSION="2"

说明你是 Amazon Linux 2。

这一步很重要,因为两者默认使用的包管理器不同:

  • Amazon Linux 2023 使用 dnf
  • Amazon Linux 2 使用 yum citeturn150083search2turn150083search6

四、安装基础环境


1. Amazon Linux 2023

1
2
sudo dnf update -y
sudo dnf install -y git curl tar gzip unzip which procps-ng findutils

如果你希望远程断线后 Claude 会话不丢失,建议顺手安装 tmux:

1
sudo dnf install -y tmux

2. Amazon Linux 2

1
2
sudo yum update -y
sudo yum install -y git curl tar gzip unzip which procps-ng findutils

同样建议安装 tmux:

1
sudo yum install -y tmux

五、检查服务器架构

在安装 Claude Code 之前,建议先确认机器架构:

1
uname -m

常见结果有:

  • x86_64
  • aarch64

如果后续安装或运行 Claude Code 时出现 Illegal instruction 等异常,首先应该怀疑架构或依赖问题。Anthropic 官方故障排查文档也明确建议先检查 Linux 主机架构。citeturn150083search1


六、安装 Claude Code

Anthropic 官方 Linux 安装命令如下:

1
curl -fsSL https://claude.ai/install.sh | bash

执行完成后,检查是否安装成功:

1
claude --version

如果可以正常输出版本号,说明 Claude Code 已安装完成。

如果提示:

1
claude: command not found

可以先执行:

1
2
which claude
echo $PATH

常见原因通常有这几类:

  1. 当前终端还没有重新加载 PATH
  2. 安装脚本把可执行文件装到了当前用户目录,但当前 shell 没有读取对应配置
  3. 安装过程没有完整结束

这时可以重新登录 SSH,再次检查。必要时把安装路径补进 ~/.bashrc、~/.bash_profile 或 ~/.zshrc。


七、首次登录 Claude Code

安装完成后,在服务器终端执行:

1
claude

首次运行通常会触发登录授权。

这里有一个很关键的问题:如果你是在 SSH 远程终端里执行 claude,浏览器自动打开的动作可能会尝试发生在服务器,而不是你本地电脑。Anthropic 官方的建议是:直接复制终端里给出的登录 URL,到你本地浏览器手动打开完成授权。 citeturn150083search1

完成登录后,再次执行:

1
claude

如果能正常进入 Claude Code 交互界面,就说明服务器侧认证已经成功。


八、本地 VS Code 需要安装哪些东西

你本地电脑的 VS Code 至少需要准备两个扩展:

1. Remote - SSH

用于让本地 VS Code 连接 Amazon Linux 服务器,并直接打开远程目录。

2. Claude Code

Anthropic 官方说明,Claude Code 的 VS Code 原生扩展是推荐使用方式。该扩展要求 VS Code 版本不低于 1.98.0,并且扩展中包含 CLI,可在集成终端中直接调用。citeturn150083search0


九、配置 VS Code Remote SSH

1. 生成本地 SSH 密钥

如果你本地还没有 SSH 密钥,可以执行:

1
ssh-keygen -t ed25519

一路回车即可。

如果已经有现成密钥,可以跳过。

2. 把公钥上传到服务器

如果服务器还没有配置免密登录,可以执行:

1
ssh-copy-id ec2-user@你的服务器IP

如果你本地没有 ssh-copy-id,也可以手动把本地公钥内容追加到服务器的:

1
~/.ssh/authorized_keys

3. 配置本地 SSH Config

编辑你本地的 SSH 配置文件:

  • Windows: C:\Users\你的用户名\.ssh\config
  • macOS / Linux: ~/.ssh/config

加入下面配置:

1
2
3
4
5
6
Host my-amazon-linux
HostName 你的服务器IP
User ec2-user
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 60
ServerAliveCountMax 120

如果你的远程用户名不是 ec2-user,记得改成你自己的用户名。

4. 在 VS Code 中连接远程主机

打开 VS Code:

  1. 按 F1
  2. 输入 Remote-SSH: Connect to Host
  3. 选择 my-amazon-linux

首次连接时,VS Code 会自动在远程主机上安装自己的 Server 组件,等待完成即可。


十、在 VS Code 中打开远程项目

连接成功后:

  1. 点击 File
  2. 选择 Open Folder
  3. 打开远程项目目录,比如:
1
/home/ec2-user/project

或者:

1
/opt/your-project

这时你虽然是在本地电脑上操作 VS Code,但文件实际都位于 Amazon Linux 服务器上。


十一、如何在 Remote SSH 环境里使用 Claude Code

在这个阶段,主要有两种使用方式。


方式一:直接使用 Claude Code 扩展

这是 Anthropic 官方推荐的 VS Code 集成方式。扩展可以提供:

  • 图形化面板
  • 对话入口
  • 和当前项目上下文联动
  • 和编辑器联动
  • CLI 能力

使用步骤通常是:

  1. 确保当前窗口已经通过 Remote SSH 连接到远程服务器
  2. 确保你打开的是远程项目目录
  3. 启用 Claude Code 扩展
  4. 根据提示完成登录
  5. 开始在 VS Code 中直接使用 Claude Code

如果你发现扩展“本地可见,但远程窗口不可用”,要重点检查扩展是否安装或启用在 SSH 远程主机环境 中,而不是只安装在本地窗口中。


方式二:在 VS Code 集成终端中运行 claude

这也是很实用的方案。

在 VS Code 中:

  1. 打开终端
  2. 确认这是远程主机终端
  3. 进入项目目录
  4. 执行:
1
claude

这样 Claude Code 就会在远程项目上下文中直接运行。Anthropic 官方文档也说明,VS Code 扩展包含 CLI,可以在集成终端中直接使用。citeturn150083search0


十二、推荐的日常使用流程

如果你想长期稳定使用,推荐采用下面这套流程:

  1. 本地打开 VS Code
  2. 使用 Remote SSH 连接 Amazon Linux
  3. 打开远程项目目录
  4. 打开 VS Code 集成终端
  5. 进入项目目录
  6. 执行:
1
claude

然后让 Claude Code 在远程环境中直接:

  • 查看代码
  • 修改代码
  • 跑测试
  • 执行构建
  • 分析日志
  • 辅助排查问题

这套方式特别适合:

  • Java / Spring Boot 项目
  • Node.js / Next.js 项目
  • Python 项目
  • 依赖远程环境的项目

十三、建议配合 tmux 使用

如果 SSH 连接容易断,或者你希望 Claude Code 会话持续存在,建议在服务器上使用 tmux。

创建一个会话:

1
tmux new -s claude

然后在这个会话里进入项目目录并运行:

1
2
cd /你的项目目录
claude

想暂时退出但不终止会话,可以按:

1
Ctrl+b 然后按 d

下次重新连接时执行:

1
tmux attach -t claude

Anthropic 的发布说明中提到,他们修复过 Claude Code 在 tmux / screen 环境下与 IDE 自动连接的相关问题,这也说明这种用法是官方覆盖到的典型场景。citeturn150083search3


十四、建议的服务器目录结构

为了后续维护更清晰,建议整理一下服务器目录:

1
2
3
4
5
6
7
8
/home/ec2-user/
├── projects/
│ ├── backend/
│ ├── frontend/
│ └── scripts/
├── .ssh/
├── .claude/
└── logs/

或者也可以使用:

1
2
3
4
/opt/
├── app-backend/
├── app-frontend/
└── tools/

这样做的好处是:

  • VS Code Remote SSH 打开目录更清晰
  • Claude Code 工作目录更明确
  • 权限更容易控制

十五、安全建议

这里要特别强调一点:不要把 Claude Code 当成一个直接对公网开放的 Web 服务去部署。

更稳妥的做法始终是:

  • 只通过 SSH 或 VS Code Remote SSH 进入
  • 不额外开放 Claude Code 公网端口
  • 尽量使用普通用户而不是长期 root
  • 对项目目录做合理权限控制
  • 对敏感仓库检查 Claude Code 权限配置

Anthropic 官方安全文档也建议对敏感仓库使用更严格的权限控制,并可通过 /permissions 检查相关设置。citeturn150083search4


十六、常见问题排查

1. claude: command not found

先执行:

1
2
which claude
echo $PATH

再重点检查:

  • 是否刚安装完但没重新登录
  • VS Code Remote SSH 终端是否加载了用户 shell 配置
  • 安装路径是否被加入 PATH

2. 登录页面没有在本地浏览器弹出

这是很常见的情况,原因通常是你在远程 SSH 终端里执行了 claude,浏览器打开动作发生在远程服务器而不是本地电脑。

处理方式很简单:

  • 复制终端给出的登录 URL
  • 手动粘贴到本地浏览器打开
  • 完成授权即可

3. VS Code 里看得到扩展,但远程窗口用不了

优先检查:

  • 当前窗口是不是 Remote SSH 窗口
  • Claude Code 扩展是否安装在“远程 SSH 主机环境”
  • 是否只是装在本地环境

4. 报架构错误或非法指令

先检查:

1
uname -m

如果是 ARM 机器,要确认安装脚本、依赖和实际架构是否匹配。citeturn150083search1


5. VS Code 集成终端可用,但普通 SSH 不可用

通常是 shell 环境变量不一致导致的。

可以分别执行:

1
2
echo $SHELL
echo $PATH

对比:

  • 普通 SSH 登录环境
  • VS Code Remote SSH 集成终端环境

必要时把 PATH 统一写进:

  • ~/.bashrc
  • ~/.bash_profile
  • ~/.zshrc

6. SSH 连接容易断开

可以在本地 SSH Config 中加入:

1
2
ServerAliveInterval 60
ServerAliveCountMax 120

这样通常能明显改善连接稳定性。


十七、一套可直接照抄的初始化命令

Amazon Linux 2023

1
2
3
4
5
6
7
8
9
sudo dnf update -y
sudo dnf install -y git curl tar gzip unzip which procps-ng findutils tmux
uname -m
curl -fsSL https://claude.ai/install.sh | bash
which claude
claude --version
mkdir -p ~/projects
cd ~/projects
tmux new -s claude

进入 tmux 后执行:

1
claude

Amazon Linux 2

1
2
3
4
5
6
7
8
9
sudo yum update -y
sudo yum install -y git curl tar gzip unzip which procps-ng findutils tmux
uname -m
curl -fsSL https://claude.ai/install.sh | bash
which claude
claude --version
mkdir -p ~/projects
cd ~/projects
tmux new -s claude

进入 tmux 后执行:

1
claude

十八、总结

对于“我想把 Claude Code 放在 Amazon Linux 服务器上,然后本地通过 VS Code 使用它”这个需求,最合理的实现方式就是:

Claude Code 安装在服务器,本地通过 VS Code Remote SSH 打开远程项目,然后使用 Claude Code 扩展或在远程终端运行 claude。

它的本质不是公网部署,而是:

  • 远程服务器承担运行环境
  • 本地 VS Code 承担操作入口
  • 代码、依赖、命令执行全部都在服务器端完成

这种方式更稳定,也更接近 Claude Code 官方推荐的使用路径。citeturn150083search0turn150083search1turn150083search3

赞赏一杯咖啡