一、核心机制对比
在开始配置前,先理清两者的底层逻辑:
| 维度 | Codex 桌面版 | WorkBuddy |
|---|---|---|
| 核心机制 | SSH Config + 远程 CLI | MCP 协议 + ssh-mcp-server |
| 服务器需装 | Codex CLI(必须) | 无 |
| 密码支持 | 不完善 | 原生支持 |
| 私钥支持 | 极佳 | 良好 |
| 连接入口 | Settings → Connections | 设置 → MCP 服务 |
Codex 走的是传统 Remote-SSH 路线:本地读取 ~/.ssh/config,在远程服务器上安装 Codex CLI 来执行实际任务。
WorkBuddy 则通过 MCP(Model Context Protocol)协议桥接:本地部署 ssh-mcp-server,由它代理 SSH 连接,无需在服务器上安装额外工具。
二、方案一:Codex 桌面版配置指南
Codex 桌面版更适合使用私钥登录,配置流程标准化,适合习惯传统 IDE 远程开发的用户。
1. 本地配置 SSH 免密登录
编辑本地 C:\Users\你的用户名\.ssh\config:
ini
Host myserver HostName 8.148.9.174 User root Port 22 IdentityFile C:/Users/你的用户名/.ssh/ssh-practice.pem IdentitiesOnly yes
注意 :Windows 路径务必使用正斜杠
/,不要用反斜杠。
在本地终端执行 ssh myserver,能免密进入即配置成功。
2. 开启 Codex 远程连接功能
编辑本地 C:\Users\你的用户名\.codex\config.toml,添加:
toml
[features] remote_connections = true
保存后完全退出 Codex 并重启,让配置生效。
3. 服务器端安装 Codex CLI
Codex 桌面版连接远程后,需要调用服务器上的 Codex CLI 来执行任务。在服务器上执行(需 Node.js 20+ 环境):
bash
sudo npm install -g @openai/codex --unsafe-perm=true hash -r codex --version
在本地终端验证远程 Codex 可用:
bash
ssh myserver "bash -lc 'which codex && codex --version'"
正常输出路径和版本号即可。
4. 在 Codex 桌面版中添加连接
打开 Codex → Settings → Connections → SSH → 选择 myserver → 选择远程项目文件夹 → 连接成功。
局限:Codex 桌面端对密码登录支持不完善,添加连接时通常没有密码输入框。如果必须使用密码,建议改用 WorkBuddy。
三、方案二:WorkBuddy 配置指南
WorkBuddy 通过 MCP 协议桥接 SSH,密码和私钥都原生支持,且无需在服务器上安装额外工具,配置更直接。
1. 配置 mcp.json 文件
文件位于 C:\Users\你的用户名\.workbuddy\mcp.json。
私钥方式:
json
{ "mcpServers": { "ssh-server": { "command": "npx", "args": [ "-y", "@fangjunjie/ssh-mcp-server", "--host", "8.148.9.174", "--port", "22", "--username", "root", "--privateKeyPath", "C:/Users/你的用户名/.ssh/ssh-practice.pem" ], "disabled": false } } }
密码方式:
将
"--privateKeyPath", "..."替换为:json
"--password", "你的密码"
注意 :JSON 标准不支持
//注释,写了会导致整个配置解析失败。args数组中,命令和值必须分开写,不能写成"--host 8.148.9.174"。
2. 保存并信任服务
在 WorkBuddy 的 MCP 服务管理界面点击"保存",然后返回列表找到 ssh-server,点击**"信任"**。只有信任后,AI 才能调用这个 MCP 服务。
3. 对话测试
在 WorkBuddy 对话框输入:
"帮我用 ssh-server 连上远程服务器,执行
ls -la看看目录。"
如果配置正确,WorkBuddy 会调用 MCP 服务连接服务器并返回结果。
四、实战避坑指南
在实际配置过程中,最容易卡在环境配置上。以下是高频报错与解决方案。
1. 服务器系统不兼容(最常见)
报错现象:
bash
sudo apt install -y nodejs Error: This script is only supported on Debian-based systems. sudo: apt: command not found
原因 :你使用的是阿里云 ECS、CentOS 或 RedHat 系统,它们用的是 dnf 或 yum,而不是 apt。
解决方案 :先执行 cat /etc/os-release 确认系统类型。
如果是 CentOS/RHEL:
bash
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo -E bash - sudo dnf install -y nodejs
如果不想折腾全局安装,推荐使用 NVM(免 sudo,最稳妥):
bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc nvm install 20
2. JSON 配置的"致命"细节
-
不能有注释 :JSON 标准不支持
//,写了会导致解析失败。 -
路径斜杠 :Windows 路径必须用正斜杠
/,不能用反斜杠\。 -
参数格式 :
args数组里,命令和值必须分开写。
3. 私钥权限问题
Windows 下如果终端能连,但 MCP 连不上,通常是 .pem 文件权限太开放。在 Windows 上右键 .pem 文件 → 属性 → 安全 → 高级 → 禁用继承,只保留当前用户的"读取"权限。
4. Docker 类 MCP 干扰
如果 mcp.json 中配置了 Docker 类的 MCP(如 GitHub MCP),而本地未启动 Docker Desktop,会导致该服务报错。建议将未使用的 MCP 条目的 "disabled" 改为 true,避免干扰。
五、总结与选型建议
| 场景 | 推荐工具 | 理由 |
|---|---|---|
| 私钥登录,追求标准化流程 | Codex 桌面版 | 与 SSH Config 深度集成,远程开发体验完整 |
| 密码登录,或不想在服务器装 CLI | WorkBuddy | MCP 原生支持密码,服务器零配置 |
| 临时测试,快速连接 | WorkBuddy | 支持在对话框直接输入连接信息 |
| 长期使用,团队协作 | 视认证方式而定 | 私钥选 Codex,密码选 WorkBuddy |
两款工具各有侧重:Codex 更贴近传统 IDE 的远程开发范式,WorkBuddy 则通过 MCP 协议提供了更灵活的桥接方式。理解它们背后的机制,根据实际认证方式和服务器环境灵活选择,才能让 AI 编程工具真正在云端发挥作用。