SSH MCP Server:让 AI 直接管理你的服务器

你有没有想过,让 AI 助手像运维工程师一样直接登录你的服务器执行命令、上传文件、管理服务?SSH MCP Server 就是实现这个能力的桥梁。

本文将介绍 SSH MCP Server 的原理、主流实现方案、配置方法,以及我的实际使用经验。

什么是 MCP?

MCP(Model Context Protocol,模型上下文协议)是 Anthropic 在 2024 年底推出的开放协议,用于标准化 AI 模型与外部工具之间的通信。你可以把它理解为 AI 世界的 USB-C 接口——一个协议,连接一切。

MCP 采用 Client-Server 架构:

  • MCP Client:AI 应用(如 Claude Code、Claude Desktop、Cursor、VS Code Copilot 等)
  • MCP Server:提供具体工具能力的服务端(数据库查询、文件操作、SSH 连接等)
  • 通信方式:通过 STDIO 或 HTTP 传输 JSON-RPC 消息
1
2
3
用户请求 → AI Client → MCP Client → MCP Server → 外部系统

用户看到结果 ← AI Client ← MCP Client ← MCP Server ←

SSH MCP Server 是什么?

SSH MCP Server 是一类实现了 MCP 协议的工具,它将 SSH 能力封装为标准的 MCP 工具,让 AI 助手可以:

  • 执行远程命令lssystemctldockernginx -t 等任何 shell 命令
  • 上传/下载文件:通过 SFTP 在本地和远程之间传输文件
  • 管理多台服务器:预配置多个连接,按名称切换
  • 安全隔离:SSH 凭证由 MCP Server 持有,不暴露给 AI 模型本身

核心价值

传统运维流程:

1
想做什么 → 打开终端 → ssh 登录 → 敲命令 → 看结果 → 判断 → 再敲命令...

有了 SSH MCP Server:

1
用自然语言告诉 AI 你想做什么 → AI 自动规划并执行 → 你确认结果

主流 SSH MCP Server 方案对比

2026 年活跃的 SSH MCP Server 项目主要有以下几个:

项目 npm 包名 Stars 特点
ssh-mcp-server (fangjunjie) @fangjunjie/ssh-mcp-server 300+ 中文社区活跃,支持预配置多服务器,工具简洁
ssh-mcp (tufantunc) ssh-mcp 340+ TypeScript 实现,支持 sudo/su 提权,超时保护
ssh-mcp-server (zibdie) @zibdie/ssh-mcp-server 跨平台友好,一键安装,支持脚本执行
mcp-ssh (aionda) @aiondadotcom/mcp-ssh 自动发现 ~/.ssh/config 主机,原生 SSH 工具

安装与配置

@fangjunjie/ssh-mcp-server 为例(这也是我在用的方案),介绍完整配置流程。

方式一:Claude Code CLI 添加

1
2
3
4
5
6
claude mcp add ssh-mcp-server \
npx -y @fangjunjie/ssh-mcp-server \
--host 你的服务器IP \
--port 22 \
--username root \
--password 你的密码

如果使用 SSH 密钥认证,将 --password 替换为 --privateKey /path/to/key

方式二:配置文件

编辑 ~/.claude/settings.json(全局)或项目根目录的 .mcp.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"mcpServers": {
"ssh-mcp-server": {
"command": "npx",
"args": [
"-y",
"@fangjunjie/ssh-mcp-server",
"--host", "你的服务器IP",
"--port", "22",
"--username", "root",
"--password", "你的密码"
]
}
}
}

Windows 用户注意:需要用 cmd /c npx 替代 npx,因为 Windows 的 npx.cmd 批处理文件,child_process.spawn() 无法直接执行。

方式三:多服务器配置

可以通过 JSON 配置文件管理多台服务器:

1
2
3
4
5
6
7
8
9
10
11
12
{
"mcpServers": {
"ssh-mcp-server": {
"command": "npx",
"args": [
"-y",
"@fangjunjie/ssh-mcp-server",
"--config", "/path/to/ssh-config.json"
]
}
}
}

配置文件示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[
{
"name": "production",
"host": "10.0.0.1",
"port": 22,
"username": "deploy",
"privateKey": "/home/user/.ssh/prod_key"
},
{
"name": "staging",
"host": "10.0.0.2",
"port": 22,
"username": "deploy",
"password": "staging-pass"
}
]

可用工具

工具 功能 使用场景
execute-command 执行远程 shell 命令 服务管理、日志查看、配置修改
upload 上传本地文件到服务器 部署配置文件、上传脚本
download 从服务器下载文件 备份文件、获取日志
list-servers 列出所有配置的服务器 多服务器环境切换

实际使用场景

场景一:博客域名配置

这是我的真实案例。我让 Claude Code 通过 SSH MCP Server 帮我完成了整个博客域名配置:

  1. 检查 DNS 解析dig +short 1e9.uno A @8.8.8.8
  2. 修改 Nginx 配置:直接写入 /etc/nginx/conf.d/hexo.conf
  3. 申请 SSL 证书certbot --nginx -d 1e9.uno
  4. 验证结果curl -skI https://1e9.uno

整个过程 AI 自主规划执行,遇到问题(比如 DNS 未生效)会自动诊断原因并给出建议。

场景二:服务状态巡检

1
2
3
"帮我检查所有 Docker 容器的运行状态"
→ AI 执行 docker ps --format "table {{.Names}}\t{{.Status}}"
→ 发现异常容器自动建议修复方案

场景三:日志分析与故障排查

1
2
3
"Nginx 最近有没有 5xx 错误?"
→ AI 执行 grep "HTTP/.*\" 5" /var/log/nginx/access.log | tail -20
→ 分析错误模式,定位根因

场景四:批量配置修改

1
2
3
4
"把 Cloudreve 的 SiteURL 从 IP 改成域名"
→ AI 查找配置位置(发现在数据库而非配置文件)
→ 执行 SQL 更新
→ 重启服务并验证

安全注意事项

SSH MCP Server 很强大,但权力越大责任越大:

1. 最小权限原则

  • 不要直接用 root,创建专用的运维账户
  • 限制可执行的命令范围(部分 MCP Server 支持命令白名单)
  • 如果不需要 sudo,显式禁用:--disableSudo

2. 凭证管理

  • 绝对不要将密码写入 .mcp.json 并提交到 Git
  • 使用 SSH 密钥认证优于密码认证
  • 通过环境变量传递敏感信息:
    1
    2
    3
    claude mcp add ssh-server \
    -e SSH_PASSWORD=$MY_SERVER_PASS \
    npx -y @fangjunjie/ssh-mcp-server --host ...

3. 确认机制

Claude Code 默认会在执行工具前请求用户确认(除非设置了自动批准)。保留这个确认步骤,特别是对于:

  • 修改系统配置
  • 重启服务
  • 删除文件
  • 数据库变更

4. 网络隔离

  • MCP Server 运行在你的本地机器上,通过 SSH 连接远程服务器
  • SSH 凭证不会发送给 AI 模型
  • 但执行的命令输出会返回给 AI,注意不要暴露敏感信息

与其他方案对比

方案 优点 缺点
SSH MCP Server 自然语言交互、AI 自主规划、上下文理解 需要信任 AI 的判断
Ansible/Terraform 声明式、可重复、版本控制 需要编写剧本/模板
手动 SSH 完全控制 效率低、易出错
Web 面板(宝塔等) 图形界面友好 灵活性有限

SSH MCP Server 不是要替代 Ansible 或 Terraform,而是在日常运维中提供一个更高效的交互方式。适合:

  • 一次性的诊断和修复
  • 探索性的配置调整
  • 不值得写自动化脚本的小任务
  • 需要 AI 帮助分析和决策的复杂排查

总结

SSH MCP Server 让 AI 助手真正具备了”动手能力”——不再只是纸上谈兵告诉你该怎么做,而是直接帮你做。配合 Claude Code 的工具确认机制,你既能享受 AI 的效率,又保留了人类的最终决策权。

如果你有自己的服务器,强烈建议配置一个 SSH MCP Server 试试。你会发现,很多原本需要 10 分钟的运维操作,现在只需要一句话。


本文使用 Claude Code + SSH MCP Server 撰写和部署,全程通过 AI 直接操作服务器完成。