CS

classfang/ssh-mcp-server

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

987 stars 117 forks 质量 83 趋势 41ISC

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

使用方式:

  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": {
在 GitHub 查看完整 README

安装

npx -y @fangjunjie/ssh-mcp-server --host 192.168.1.1 --port 22 --username root --password pwd123456
新手?先看 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" ] } } }