CS

classfang/ssh-mcp-server

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

987 stars 117 forks Качество 83 Тренд 41ISC

基于 SSH 的 MCP 服务 🧙 ♀️ 。 已被MCP官方收录 🎉 。 SSH MCP Server 🧙 ♀️ . Он включён в репозиторий 🎉 сообщества MCP .

Обзор

SSH-сервер MCP (Model Context Protocol), который позволяет удалённо выполнять SSH-команды через протокол MCP. ssh-mcp-server — это мостовой инструмент, который позволяет ассистентам ИИ и другим приложениям, поддерживающим протокол MCP, выполнять удалённые SSH-команды через стандартизированный интерфейс. Это позволяет ассистентам ИИ безопасно управлять удалёными серверами, выполнять команды и получать результаты без прямого раскрытия учетных данных SSH для моделей ИИ. Отсканируйте код в WeChat и ответьте «Вступай в группу». - : Поддерживает несколько безопасных методов SSH-соединения, включая аутентификацию пароля и аутентификацию приватного ключа (с поддержкой пароля) - : Точное управление диапазоном разрешённых команд с помощью гибких механизмов черного и белого списка для предотвращения опасных операций - : Соответствует спецификациям протокола MCP для бесшовной интеграции с AI-ассистентами, поддерживающими протокол - : Поддерживает как exec, так и shell транспортные режимы для прямых SSH-хостов, а также сценариев бастиона или прыжка -...

Обзор (машинный перевод)

基于 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

🛠️ 工具列表

工具 名称 描述
Execute-Command 命令执行工具 在远程服务器上执行 SSH 命令并获取执行结果
Загрузка 文件上传工具 将本地文件或整个目录上传到远程服务器指定位置
Скачать 文件下载工具 从远程服务器下载文件或整个目录到本地指定位置
read-file 读文件工具 通过 SFTP 读取远程文本文件,可按字节偏移分页,拒绝二进制文件
write-file 写文件工具 通过 SFTP 直接写入文本内容(覆盖或追加),不经过 shell 引号转义
Списки-серверы 服务器列表工具 列出所有可用SSH服务器配置

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

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 文件。

使用方式:

  1. 从本仓库 skills/ 目录安装该 skill
  2. 告诉你的 AI 助手:“帮我配置 ssh-mcp-server” 或 “给 Cursor 加一个 SSH MCP 连接”
  3. 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": {
Открыть полный README на GitHub

Установка

npx -y @fangjunjie/ssh-mcp-server --host 192.168.1.1 --port 22 --username root --password pwd123456
Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "ssh-mcp-server": { "command": "npx", "args": [ "-y", "@fangjunjie/ssh-mcp-server", "--host", "192.168.1.1", "--port", "22", "--username", "root", "--password", "pwd123456" ] } } }