
基于 SSH 的 MCP 服务 🧙 ♀️ 。已被 MCP 官方收录 🎉 。SSH MCP 服务器 🧙 ♀️ 。它已被包含在社区的 MCP 仓库🎉中。
概览
基于SSH的MCP(模型上下文协议)服务器,允许通过MCP协议远程执行SSH命令。 ssh-mcp-server 是一款桥接工具,使 AI 助手及其他支持 MCP 协议的应用程序能够通过标准化接口执行远程 SSH 命令。这使得 AI 助手能够安全操作远程服务器、执行命令并检索结果,而无需直接将 SSH 凭据暴露给 AI 模型。 用微信扫描代码,回复“加入群组”。 - : 支持多种安全SSH连接方式,包括密码认证和私钥认证(支持口令短语) - 通过灵活的黑名单和白名单机制精确控制允许命令范围,防止危险操作 - : 符合MCP协议规范,与支持该协议的AI助手无缝集成 - 支持执行层和壳级传输模式,适用于直接SSH主机和堡垒或跳转主机场景-...
概述(AI 翻译)
基于 SSH 的 MCP (Model Context Protocol) 服务器,允许通过 MCP 协议远程执行 SSH 命令。
英文文档 |中文文档
📝 项目介绍
ssh-mcp-server 是一个桥接工具,可以让 AI 助手等支持 MCP 协议的应用通过标准化接口执行远程 SSH 命令。这使得 AI 助手能够安全地操作远程服务器,执行命令并获取结果,而无需直接暴露 SSH 凭据给 AI 模型。
💬 如有任何问题,欢迎加入微信群交流:
✨ 功能亮点
- 🔒 安全连接:支持多种安全的 SSH 连接方式,包括密码认证和私钥认证(支持带密码的私钥)
- 🛡️ 命令安全控制:通过灵活的黑白名单机制,精确控制允许执行的命令范围,防止危险操作
- ** 🔄 标准化接口**:符合 MCP 协议规范,与支持该协议的 AI 助手无缝集成
- ** 🚇 双传输模式**:同时支持
exec和shell两种 transport,兼容直连主机与堡垒机或跳板机场景 - ** 🌐 HTTP 接入**:默认使用 stdio;加上
--mcp-transport http后通过 Streamable HTTP 提供 MCP 端点 - 📂 文件传输:支持双向文件传输功能,可上传本地文件到服务器或从服务器下载文件
- ** 🔑 凭据隔离**:SSH 凭据完全在本地管理,不会暴露给 AI 模型,增强安全性
- ** 🚀 即用即走**:使用 NPX 可直接运行,无需全局安装,方便快捷
📦 开源仓库
GitHub:https://github.com/classfang/ssh-mcp-server
NPM: https://www.npmjs.com/package/@fangjunjie/ssh-mcp-server
🛠️ 工具列表
| 工具 | 名称 | 描述 |
|---|---|---|
| 执行命令 | 命令执行工具 | 在远程服务器上执行 SSH 命令并获取执行结果 |
| 上传 | 文件上传工具 | 将本地文件或整个目录上传到远程服务器指定位置 |
| 下载 | 文件下载工具 | 从远程服务器下载文件或整个目录到本地指定位置 |
| 读取文件 | 读文件工具 | 通过 SFTP 读取远程文本文件,可按字节偏移分页,拒绝二进制文件 |
| 写文件 | 写文件工具 | 通过 SFTP 直接写入文本内容(覆盖或追加),不经过 shell 引号转义 |
| 列表服务器 | 服务器列表工具 | 列出所有可用SSH服务器配置 |
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
📝 项目介绍
ssh-mcp-server 是一个桥接工具,可以让 AI 助手等支持 MCP 协议的应用通过标准化接口执行远程 SSH 命令。这使得 AI 助手能够安全地操作远程服务器,执行命令并获取结果,而无需直接暴露 SSH 凭据给 AI 模型。
💬 如有任何问题,欢迎加入微信群交流:
✨ 功能亮点
- 🔒 安全连接:支持多种安全的 SSH 连接方式,包括密码认证和私钥认证(支持带密码的私钥)
- 🛡️ 命令安全控制:通过灵活的黑白名单机制,精确控制允许执行的命令范围,防止危险操作
- 🔄 标准化接口:符合 MCP 协议规范,与支持该协议的 AI 助手无缝集成
- 🚇 双传输模式:同时支持
exec和shell两种 transport,兼容直连主机与堡垒机或跳板机场景 - 🌐 HTTP 接入:默认使用 stdio;加上
--mcp-transport http后通过 Streamable HTTP 提供 MCP 端点 - 📂 文件传输:支持双向文件传输功能,可上传本地文件到服务器或从服务器下载文件
- 🔑 凭据隔离:SSH 凭据完全在本地管理,不会暴露给 AI 模型,增强安全性
- 🚀 即用即走:使用 NPX 可直接运行,无需全局安装,方便快捷
📦 开源仓库
GitHub:https://github.com/classfang/ssh-mcp-server
NPM: https://www.npmjs.com/package/@fangjunjie/ssh-mcp-server
🛠️ 工具列表
| 工具 | 名称 | 描述 |
|---|---|---|
| execute-command | 命令执行工具 | 在远程服务器上执行 SSH 命令并获取执行结果 |
| upload | 文件上传工具 | 将本地文件或整个目录上传到远程服务器指定位置 |
| download | 文件下载工具 | 从远程服务器下载文件或整个目录到本地指定位置 |
| read-file | 读文件工具 | 通过 SFTP 读取远程文本文件,可按字节偏移分页,拒绝二进制文件 |
| write-file | 写文件工具 | 通过 SFTP 直接写入文本内容(覆盖或追加),不经过 shell 引号转义 |
| list-servers | 服务器列表工具 | 列出所有可用SSH服务器配置 |
| job-start / job-status / job-kill / job-list | 后台任务工具 | 启动超过命令超时限制的长任务,轮询输出与退出码,终止任务 |
📚 使用方法
0. 🤖 通过 AI Skill 快速配置(推荐)
如果你使用支持 skill 的 AI 编程助手(如 Claude Code),可以直接使用内置的 ssh-mcp-helper skill 通过交互式问答完成安装和配置,无需手动编辑 JSON 文件。
使用方式:
- 从本仓库
skills/目录安装该 skill - 告诉你的 AI 助手:“帮我配置 ssh-mcp-server” 或 “给 Cursor 加一个 SSH MCP 连接”
- skill 会逐步引导你:检查 Node.js 环境 → 选择 MCP 客户端 → 选择认证方式 → 收集连接参数 → 生成并写入配置
该 skill 支持下文所有场景(账号密码、私钥、SSH config 复用、SOCKS 代理、堡垒机、多连接、2FA、命令限制等),并自动生成格式正确的配置。
下面的章节按从简单到复杂的顺序排列,最简单的入门方式就是用账号密码连接服务器。直接复制对应场景下的 mcp.json 配置到你的 MCP 客户端即可使用。
⚠️ 重要提示:在 MCP 配置文件中,每个命令行参数和其值必须是
args数组中的独立元素。不要用空格将它们连接在一起。例如,使用"--host", "192.168.1.1"而不是"--host 192.168.1.1"。
1. 🔑 账号密码(最简单)
{
"mcpServers": {
"ssh-mcp-server": {
安装
npx -y @fangjunjie/ssh-mcp-server --host 192.168.1.1 --port 22 --username root --password pwd123456配置
{
"mcpServers": {
"ssh-mcp-server": {
"command": "npx",
"args": [
"-y",
"@fangjunjie/ssh-mcp-server",
"--host", "192.168.1.1",
"--port", "22",
"--username", "root",
"--password", "pwd123456"
]
}
}
}