-
- 一、文档目标
- 二、整体流程
- 三、核心概念
-
- [1. SSH 是什么?](#1. SSH 是什么?)
- [2. SSHFS 是什么?](#2. SSHFS 是什么?)
- [3. Claude 为什么能操作 ECS 文件?](#3. Claude 为什么能操作 ECS 文件?)
- 四、适用场景
- 五、准备条件
- [六、第一步:确认 ECS 可以 SSH 连接](#六、第一步:确认 ECS 可以 SSH 连接)
- [七、第二步:在 ECS 上创建 Claude 工作目录](#七、第二步:在 ECS 上创建 Claude 工作目录)
- [八、第三步:创建普通用户 dev](#八、第三步:创建普通用户 dev)
-
- [Ubuntu / Debian 系统](#Ubuntu / Debian 系统)
- [CentOS / Rocky Linux / Alibaba Cloud Linux](#CentOS / Rocky Linux / Alibaba Cloud Linux)
- [九、第四步:把项目放到 Claude 工作目录](#九、第四步:把项目放到 Claude 工作目录)
- [十、第五步:Windows 安装 SSHFS-Win](#十、第五步:Windows 安装 SSHFS-Win)
- [十一、第六步:挂载 ECS 目录到 Windows 本地盘符](#十一、第六步:挂载 ECS 目录到 Windows 本地盘符)
- [十二、如果 SSH 不是 22 端口](#十二、如果 SSH 不是 22 端口)
- 十三、验证挂载是否成功
- [十四、用 Claude Code 操作挂载路径](#十四、用 Claude Code 操作挂载路径)
-
- [1. 进入挂载盘](#1. 进入挂载盘)
- [2. 进入项目目录](#2. 进入项目目录)
- [3. 启动 Claude Code](#3. 启动 Claude Code)
- [十五、Claude Code 推荐操作流程](#十五、Claude Code 推荐操作流程)
- [十六、用 Claude Desktop 操作挂载路径](#十六、用 Claude Desktop 操作挂载路径)
-
- [1. 找到 Claude Desktop 配置文件](#1. 找到 Claude Desktop 配置文件)
- [2. 配置 filesystem MCP](#2. 配置 filesystem MCP)
- [3. 重启 Claude Desktop](#3. 重启 Claude Desktop)
- [十七、Claude Code 和 Claude Desktop 的区别](#十七、Claude Code 和 Claude Desktop 的区别)
- 十八、卸载挂载盘符
- 十九、安全规范
-
- [1. 不要挂载根目录](#1. 不要挂载根目录)
- [2. 不要长期使用 root 用户](#2. 不要长期使用 root 用户)
- [3. 不要直接操作生产目录](#3. 不要直接操作生产目录)
- [4. Claude 修改前必须先说明计划](#4. Claude 修改前必须先说明计划)
- [5. 修改前一定要用 Git 管理](#5. 修改前一定要用 Git 管理)
- [二十、推荐 ECS 目录结构](#二十、推荐 ECS 目录结构)
- 二十一、常见问题
-
- [问题 1:`ssh` 能连上,但 `net use` 挂载失败](#问题 1:
ssh能连上,但net use挂载失败) - [问题 2:挂载成功,但不能写入文件](#问题 2:挂载成功,但不能写入文件)
- [问题 3:Claude Code 进入 X 盘后找不到项目](#问题 3:Claude Code 进入 X 盘后找不到项目)
- [问题 4:Claude Desktop 看不到 X 盘](#问题 4:Claude Desktop 看不到 X 盘)
- [问题 5:挂载盘符删除不了](#问题 5:挂载盘符删除不了)
- [问题 1:`ssh` 能连上,但 `net use` 挂载失败](#问题 1:
- 二十二、推荐完整操作流程
- [二十三、推荐给 Claude 的提示词模板](#二十三、推荐给 Claude 的提示词模板)
-
- [1. 只分析项目](#1. 只分析项目)
- [2. 修改代码前先确认](#2. 修改代码前先确认)
- [3. 修改后总结](#3. 修改后总结)
- 二十四、核心总结
一、文档目标
本文档用于解决以下问题:
如何把阿里云 ECS 上的远程目录挂载到 Windows 本地,并让 Claude / Claude Code 操作挂载后的本地路径。
最终效果:
text
阿里云 ECS 远程目录:
/srv/claude-workspace
Windows 本地挂载路径:
X:\
Claude 操作路径:
X:\你的项目
可以简单理解为:
text
ECS 远程目录 → Windows 本地盘符 → Claude 像操作本地项目一样操作远程代码
二、整体流程
text
Windows 本地电脑
|
| SSH / SSHFS
v
阿里云 ECS
|
v
/srv/claude-workspace
|
v
Windows 本地 X:\
|
v
Claude Code / Claude Desktop 操作 X:\ 项目
三、核心概念
1. SSH 是什么?
SSH 是本地电脑连接远程 Linux 服务器的方式。
例如:
powershell
ssh root@你的ECS公网IP
含义:
text
使用 root 用户连接远程 ECS 服务器
2. SSHFS 是什么?
SSHFS 可以理解为:
text
通过 SSH 协议,把远程 Linux 目录挂载成本地目录或本地盘符
比如:
text
远程目录:/srv/claude-workspace
本地盘符:X:\
挂载成功后,你在 Windows 打开 X:\,实际看到的是 ECS 上的 /srv/claude-workspace。
3. Claude 为什么能操作 ECS 文件?
Claude 不是直接登录 ECS。
Claude 操作的是 Windows 本地路径:
text
X:\
但是 X:\ 已经映射到了 ECS 的远程目录,所以:
text
Claude 修改 X:\ 文件 = 实际修改 ECS 上的文件
四、适用场景
| 场景 | 是否适合 |
|---|---|
| 本地查看 ECS 上的代码 | 适合 |
| 本地编辑 ECS 上的代码 | 适合 |
| Claude 分析远程项目 | 适合 |
| Claude 修改远程项目文件 | 可以,但必须控制权限 |
| 直接挂载生产环境目录 | 不推荐 |
直接挂载 /root 或 / |
强烈不推荐 |
| 让 Claude 直接执行危险命令 | 不推荐 |
五、准备条件
你需要准备:
| 项目 | 说明 |
|---|---|
| Windows 电脑 | Windows 10 / Windows 11 |
| 阿里云 ECS | Linux 系统,例如 Ubuntu、CentOS、Alibaba Cloud Linux |
| ECS 公网 IP | 用于 SSH 连接 |
| SSH 用户 | 建议新建普通用户,例如 dev |
| SSH 端口 | 默认 22 |
| SSHFS-Win | Windows 挂载 SSH 目录的工具 |
| Claude Code 或 Claude Desktop | 用于操作挂载后的路径 |
六、第一步:确认 ECS 可以 SSH 连接
在 Windows PowerShell 中执行:
powershell
ssh root@你的ECS公网IP
例如:
powershell
ssh root@47.xx.xx.xx
如果能进入 Linux 命令行,说明 SSH 连接正常。
如果失败,常见原因如下:
| 问题 | 说明 |
|---|---|
| ECS 安全组没有放行 22 端口 | 需要在阿里云控制台放行 |
| 公网 IP 写错 | 检查 ECS 公网 IP |
| 用户名错误 | Ubuntu 可能是 ubuntu,CentOS 可能是 root |
| 密码或密钥错误 | 检查登录凭证 |
| 本地网络问题 | 尝试更换网络或检查防火墙 |
七、第二步:在 ECS 上创建 Claude 工作目录
不要让 Claude 直接操作 /root、/etc、/var/www 等敏感目录。
推荐创建一个专门目录:
bash
mkdir -p /srv/claude-workspace
这个目录的作用是:
text
专门存放 Claude 可以分析和修改的项目文件
八、第三步:创建普通用户 dev
不建议长期用 root 用户给 Claude 操作文件。
Ubuntu / Debian 系统
bash
adduser dev
然后执行:
bash
mkdir -p /srv/claude-workspace
chown -R dev:dev /srv/claude-workspace
CentOS / Rocky Linux / Alibaba Cloud Linux
bash
useradd dev
passwd dev
mkdir -p /srv/claude-workspace
chown -R dev:dev /srv/claude-workspace
这样做的目的:
text
Claude 只能操作 /srv/claude-workspace
不要让 Claude 具备 root 级别权限
九、第四步:把项目放到 Claude 工作目录
进入工作目录:
bash
cd /srv/claude-workspace
如果你的项目在 Git 仓库中,可以执行:
bash
git clone 你的项目仓库地址
例如:
bash
git clone https://gitee.com/xxx/ai-drama-platform.git
最终目录可能是:
text
/srv/claude-workspace/ai-drama-platform
十、第五步:Windows 安装 SSHFS-Win
在 Windows PowerShell 中执行:
powershell
winget install SSHFS-Win.SSHFS-Win
安装完成后,建议重新打开 PowerShell,必要时重启 Windows。
SSHFS-Win 的作用:
text
让 Windows 可以把 Linux 远程目录映射成本地盘符
十一、第六步:挂载 ECS 目录到 Windows 本地盘符
假设你的信息如下:
text
ECS 公网 IP:47.xx.xx.xx
远程用户:dev
远程目录:/srv/claude-workspace
本地盘符:X:
SSH 端口:22
执行:
powershell
net use X: \\sshfs.r\dev@47.xx.xx.xx\srv\claude-workspace
参数说明:
| 部分 | 含义 |
|---|---|
X: |
Windows 本地盘符 |
\\sshfs.r |
表示从远程 Linux 根目录 / 开始 |
dev@47.xx.xx.xx |
远程用户名和 ECS 公网 IP |
\srv\claude-workspace |
远程目录 /srv/claude-workspace |
挂载成功后,打开:
text
此电脑 → X:\
这个 X:\ 对应的就是 ECS 上的:
text
/srv/claude-workspace
十二、如果 SSH 不是 22 端口
如果你的 SSH 端口不是 22,比如是 2222,命令写成:
powershell
net use X: \\sshfs.r\dev@47.xx.xx.xx!2222\srv\claude-workspace
端口写法:
text
IP!端口
例如:
text
dev@47.xx.xx.xx!2222
十三、验证挂载是否成功
PowerShell 执行:
powershell
X:
dir
如果能看到 ECS /srv/claude-workspace 里的文件,说明挂载成功。
测试写入文件:
powershell
echo test > X:\test.txt
然后 SSH 登录 ECS 查看:
bash
ls /srv/claude-workspace
cat /srv/claude-workspace/test.txt
如果能看到 test.txt,说明 Windows 和 ECS 已经打通。
十四、用 Claude Code 操作挂载路径
Claude Code 更适合代码项目。
1. 进入挂载盘
powershell
X:
2. 进入项目目录
powershell
cd ai-drama-platform
3. 启动 Claude Code
powershell
claude
然后可以让 Claude 分析项目:
text
分析当前项目目录结构,不要修改文件。
也可以让 Claude 查找入口文件:
text
帮我找出后端接口入口文件,先只分析,不要修改。
也可以让 Claude 分析启动方式:
text
帮我检查项目启动方式,并说明需要哪些环境变量。
十五、Claude Code 推荐操作流程
推荐流程:
text
1. 先让 Claude 只读分析
2. 让 Claude 输出修改计划
3. 你确认计划
4. Claude 再修改代码
5. 修改后让 Claude 总结变更
6. 你自己检查 git diff
7. 确认无误后再部署
常用 Git 检查命令:
powershell
git status
查看文件修改内容:
powershell
git diff
提交代码:
powershell
git add .
git commit -m "update by claude"
十六、用 Claude Desktop 操作挂载路径
如果你使用的是 Claude Desktop,而不是 Claude Code,需要通过 MCP filesystem server 授权本地目录。
1. 找到 Claude Desktop 配置文件
Windows 配置文件位置:
text
%APPDATA%\Claude\claude_desktop_config.json
也可以在 Claude Desktop 中打开:
text
Settings → Developer → Edit Config
2. 配置 filesystem MCP
写入以下配置:
json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"X:\\"
]
}
}
}
这里的:
text
X:\\
表示授权 Claude Desktop 访问 Windows 的 X:\ 盘。
而 X:\ 实际对应 ECS 的:
text
/srv/claude-workspace
3. 重启 Claude Desktop
保存配置后,彻底退出 Claude Desktop,然后重新打开。
之后可以问 Claude:
text
请查看 X:\ai-drama-platform 的项目结构,先只分析,不要修改文件。
或者:
text
请读取 X:\ai-drama-platform\README.md,并总结项目启动方式。
十七、Claude Code 和 Claude Desktop 的区别
| 工具 | 适合场景 | 操作方式 |
|---|---|---|
| Claude Code | 写代码、改项目、查 Bug | 在终端进入项目目录后运行 claude |
| Claude Desktop | 读文件、整理文档、简单文件管理 | 通过 MCP 授权本地目录 |
| ChatGPT 网页版 | 问问题、分析粘贴代码 | 默认不能直接操作本地文件 |
如果是开发项目,优先推荐:
text
Claude Code
如果是整理文档、分析文件,推荐:
text
Claude Desktop + MCP filesystem
十八、卸载挂载盘符
不用的时候执行:
powershell
net use X: /delete
如果提示盘符正在使用,先关闭:
text
资源管理器
VS Code
Claude Code
PowerShell
Cursor
其他编辑器
然后再执行:
powershell
net use X: /delete
十九、安全规范
1. 不要挂载根目录
不要这样做:
powershell
net use X: \\sshfs.r\root@47.xx.xx.xx\
这等于把整个服务器根目录都暴露给本地工具和 AI。
2. 不要长期使用 root 用户
不推荐:
powershell
net use X: \\sshfs.r\root@47.xx.xx.xx\srv\claude-workspace
推荐:
powershell
net use X: \\sshfs.r\dev@47.xx.xx.xx\srv\claude-workspace
3. 不要直接操作生产目录
不推荐直接挂载:
text
/var/www/production
/www/wwwroot
/root
/etc
/usr
推荐单独创建:
text
/srv/claude-workspace
4. Claude 修改前必须先说明计划
推荐提示词:
text
你现在只能分析项目,不要修改文件。
请先说明:
1. 项目结构
2. 入口文件
3. 可能的问题
4. 你建议修改哪些文件
等我确认后再修改。
5. 修改前一定要用 Git 管理
在项目目录执行:
bash
git status
如果不是 Git 仓库,可以先初始化:
bash
git init
git add .
git commit -m "initial commit"
这样 Claude 改坏了,你还能回滚。
二十、推荐 ECS 目录结构
推荐:
text
/srv
└── claude-workspace
├── ai-drama-platform
├── test-project
└── notes
不推荐:
text
/
├── root
├── etc
├── usr
├── var
└── home
Claude 只应该操作:
text
/srv/claude-workspace
二十一、常见问题
问题 1:ssh 能连上,但 net use 挂载失败
可能原因:
text
1. SSHFS-Win 没安装成功
2. WinFsp 没安装成功
3. PowerShell 没有重新打开
4. 远程路径写错
5. 用户没有目录权限
检查远程目录:
bash
ls -ld /srv/claude-workspace
修复权限:
bash
chown -R dev:dev /srv/claude-workspace
问题 2:挂载成功,但不能写入文件
说明用户权限不够。
执行:
bash
chown -R dev:dev /srv/claude-workspace
chmod -R 755 /srv/claude-workspace
如果需要让 dev 用户写入项目:
bash
chmod -R u+rwX /srv/claude-workspace
问题 3:Claude Code 进入 X 盘后找不到项目
先确认本地路径:
powershell
X:
dir
如果看不到项目,说明项目不在 /srv/claude-workspace 下。
在 ECS 上检查:
bash
ls /srv/claude-workspace
问题 4:Claude Desktop 看不到 X 盘
检查配置文件:
text
%APPDATA%\Claude\claude_desktop_config.json
确认路径写法是:
json
"X:\\"
而不是:
json
"X:\"
JSON 里反斜杠需要转义,所以要写成:
text
X:\\
问题 5:挂载盘符删除不了
先关闭所有占用 X:\ 的程序:
text
资源管理器
VS Code
Claude Code
PowerShell
Cursor
其他编辑器
再执行:
powershell
net use X: /delete
二十二、推荐完整操作流程
text
1. ECS 安全组放行 22 端口
2. Windows PowerShell 测试 SSH 连接
3. ECS 创建 dev 用户
4. ECS 创建 /srv/claude-workspace
5. 把项目放进 /srv/claude-workspace
6. Windows 安装 SSHFS-Win
7. net use X: 挂载远程目录
8. PowerShell 打开 X:\ 确认文件存在
9. Claude Code 进入 X:\项目目录
10. 先让 Claude 只分析,不修改
11. 确认修改计划
12. Claude 修改代码
13. git diff 检查
14. 测试项目
15. 再部署到生产环境
二十三、推荐给 Claude 的提示词模板
1. 只分析项目
text
你现在位于一个已经挂载的远程项目目录中。
请先分析当前项目结构,不要修改任何文件。
请输出:
1. 项目主要目录说明
2. 前端入口在哪里
3. 后端入口在哪里
4. 配置文件在哪里
5. 启动项目需要哪些步骤
2. 修改代码前先确认
text
请先不要修改文件。
我希望你帮我解决这个问题:XXX。
请你先输出:
1. 问题原因分析
2. 可能涉及的文件
3. 修改方案
4. 风险点
5. 修改后如何测试
等我确认后,你再修改。
3. 修改后总结
text
请总结你刚才修改了哪些文件,每个文件改了什么,为什么这样改,以及我应该如何测试。
二十四、核心总结
这套方案的核心是:
text
SSH 负责连接 ECS
SSHFS-Win 负责把 ECS 目录挂载到 Windows
Claude 操作 Windows 的 X:\
X:\ 实际对应 ECS 的 /srv/claude-workspace
所以:
text
Claude 操作本地路径 = 实际修改远程 ECS 文件
一定要注意:
text
只挂载安全目录
只给普通用户权限
不要直接操作生产目录
修改前先让 Claude 给计划
修改后用 git diff 检查
最终推荐方案:
text
ECS 目录:/srv/claude-workspace
Windows 盘符:X:\
Claude Code 路径:X:\你的项目
操作原则:先分析,再修改,再检查,再部署