返回 MCP 目录
public公开dns本地运行

ssh-mcp-server

SSH-MCP服务器是一个基于SSH的模型上下文协议服务,通过MCP协议实现远程SSH命令执行,为AI助手提供安全操作远程服务器的标准化接口。

article

README

🚀 🔐 SSH-MCP-Server 中文文档

ssh-mcp-server 是一款桥梁工具,它能让 AI 助手及其他支持 MCP 协议的应用程序,借助标准化接口远程执行 SSH 命令。这一特性使得 AI 助手在不直接暴露 SSH 凭证的情况下,能安全地操作远程服务器、执行命令并获取结果。

🚀 快速开始

借助 ssh-mcp-server,你可以让 AI 助手和支持 MCP 协议的应用程序,通过标准化接口远程执行 SSH 命令,同时保障 SSH 凭证的安全。

✨ 主要特性

  • 🔒 安全连接:支持多种安全的 SSH 连接方式,涵盖密码认证和私钥认证(带有密钥短语支持)。
  • 🛡️ 命令安全控制:通过灵活的黑名单和白名单机制,精确控制允许执行的命令范围,防止危险操作。
  • 🔄 标准化接口:符合 MCP 协议规范,可与支持该协议的 AI 助手实现无缝集成。
  • 📂 文件传输:支持双向文件传输,既可以将本地文件上传到服务器,也能从服务器下载文件。
  • 🔑 凭证隔离:SSH 凭证完全由本地管理,不会暴露给 AI 模型,增强了安全性。
  • 🚀 即用即取:无需全局安装,直接使用 NPX 运行即可快速部署。

📦 安装指南

本项目无需全局安装,直接使用 NPX 运行即可快速部署。

📦 开源仓库

🛠️ 工具列表

| 工具 | 名称 | 描述 | |---------|-----------|----------| | execute-command | 命令执行工具 | 在远程服务器上执行 SSH 命令并获取结果 | | upload | 文件上传工具 | 将本地文件上传到指定的远程服务器位置 | | download | 文件下载工具 | 从远程服务器下载文件到本地指定位置 |

💻 使用示例

MCP 配置示例

命令行选项

以下是可通过命令行指定的关键参数:

  • --host-h:SSH 服务端的主机地址(默认值为 localhost
  • --port-p:SSH 服务端的端口号(默认值为 22
  • --user-u:SSH 连接的用户名
  • --password-P:SSH 连接的密码(不推荐使用,建议优先配置密钥认证)
  • --private-key-k:用于 SSH 认证的私钥路径
  • --passphrase-w:私钥的密钥短语
  • --command-whitelist-w:允许执行的命令白名单(支持正则表达式)
  • --command-blacklist-b:禁止执行的命令黑名单(支持正则表达式)

配置示例

基础用法

以下是使用密码认证的配置示例:

{
  "command": "npx",
  "args": [
    "--host",
    "192.168.1.100",
    "--port",
    "22",
    "--user",
    "root",
    "--password",
    "your_password_here"
  ]
}
高级用法

以下是使用私钥认证、命令白名单、命令黑名单的配置示例:

使用私钥认证的配置示例

{
  "command": "npx",
  "args": [
    "--host",
    "192.168.1.100",
    "--port",
    "22",
    "--user",
    "root",
    "--private-key",
    "/path/to/private_key.pem",
    "--passphrase",
    "your_passphrase_here"
  ]
}

使用命令白名单的配置示例

{
  "command": "npx",
  "args": [
    "--host",
    "192.168.1.100",
    "--port",
    "22",
    "--user",
    "root",
    "--password",
    "your_password_here",
    "--command-whitelist",
    "^ls$|^pwd$"
  ]
}

使用命令黑名单的配置示例

{
  "command": "npx",
  "args": [
    "--host",
    "192.168.1.100",
    "--port",
    "22",
    "--user",
    "root",
    "--password",
    "your_password_here",
    "--command-blacklist",
    "^rm .*"
  ]
}

⚠️ 重要提示

如果同时指定白名单和黑名单,系统将首先检查命令是否在白名单中,然后检查是否在黑名单中。只有通过两者的检查,命令才会被执行。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端