Token导航 LogoToken导航TokenDH.com
MCP Ssh Executor logo
AI代理未说明官方级别未说明来源级核验

MCP Ssh Executor

MCP Server

一个基于MCP协议的SSH远程命令执行服务器,支持持久化SSH连接和多种shell操作符,适用于远程服务器管理和自动化任务。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
GoDocker容器自动化

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

kvirund

提供方

kvirund

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP SSH执行器

一种模型上下文协议(MCP)服务器,支持通过SSH连接执行远程命令。此服务器维护持久的SSH隧道,并提供在远程计算机上执行shell命令的工具。

特性

  • 持久SSH连接:跨多个命令执行保持打开的SSH连接
  • Docker容器化:在最小的Docker容器中运行,便于部署
  • 壳牌运营商支持:完全支持管道(|),逻辑与(&&),逻辑OR(||),和其他shell操作符
  • 身份验证方法:支持SSH密钥和密码身份验证
  • MCP协议:实施官方MCP stdio协议,实现无缝集成

建筑

服务器由以下部分组成:

  • 基于Go的MCP服务器:使用JSON-RPC 2.0在stdio上实现MCP协议
  • SSH连接管理器:处理SSH连接生命周期和命令执行
  • Docker容器:提供带有SSH密钥挂载的隔离执行环境

安装

先决条件

  • 码头工人
  • SSH访问目标计算机
  • SSH私钥(推荐)或密码

构建并运行

  1. 克隆存储库:
   git clone https://github.com/kvirund/mcp-ssh-executor.git
   cd mcp-ssh-executor
  1. 构建Docker镜像:
   docker build -t mcp-ssh-executor .
  1. 配置MCP设置:

添加到您的MCP配置中(例如。, cline_mcp_settings.json):

   {
     "mcpServers": {
       "ssh-executor": {
         "command": "docker",
         "args": ["run", "-i", "--rm", "-v", "C:\\Users\\username\\.ssh:/root/.ssh", "mcp-ssh-executor"],
         "env": {
           "SSH_HOST": "your-server-ip",
           "SSH_USER": "your-username",
           "SSH_PRIVATE_KEY_PATH": "/root/.ssh/id_rsa",
           "SSH_PORT": "22"
         },
         "disabled": false,
         "autoApprove": []
       }
     }
   }

用法

可用工具

  1. connect_ssh

- 建立与已配置服务器的SSH连接 - 无需参数 - 返回成功/错误状态

  1. execute_命令

- 在远程服务器上执行shell命令 - 参数: command (string)-要执行的命令 - 返回命令输出和退出状态

  1. disconnect_ssh

- 关闭SSH连接 - 无需参数 - 返回确认

示例使用流程

  1. 连接:呼叫 connect_ssh 建立连接
  2. 执行命令:

- ls -la -列出目录内容 - ps aux | grep nginx -查找nginx进程 - cd /var/log && tail -f syslog -监控系统日志 - mkdir backup && cp *.log backup/ && tar czf backup.tar.gz backup -创建备份

  1. 断开:呼叫 disconnect_ssh 完成后

壳牌运营商

所有标准外壳操作员的工作:

  • 管道: command1 | command2
  • 逻辑与: command1 && command2
  • 逻辑或: command1 || command2
  • 重定向: command > file.txt
  • 背景: command &

配置

环境变量

变量描述必填
SSH_HOST目标服务器主机名/IP
SSH_USERSSH用户名
SSH_PRIVATE_KEY_PATHSSH私钥路径是(如果不使用密码)
SSH_PASSWORDSSH密码是(如果不使用密钥)
SSH_PORTSSH端口(默认:22)

SSH密钥设置

对于基于密钥的身份验证:

  1. 如果需要,生成SSH密钥对: ssh-keygen
  2. 将公钥复制到服务器: ssh-copy-id user@host
  3. 安装 .ssh Docker中的目录: -v /path/to/.ssh:/root/.ssh

发展

地方发展

  1. 安装Go 1.23+
  1. 克隆和构建:
   git clone https://github.com/kvirund/mcp-ssh-executor.git
   cd mcp-ssh-executor
   go mod tidy
   go build -o ssh-executor .
  1. 本地测试:
   export SSH_HOST=your-host
   export SSH_USER=your-user
   export SSH_PRIVATE_KEY_PATH=/path/to/key
   ./ssh-executor

测试MCP协议

向stdin发送JSON-RPC消息:

# Initialize
echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize"}' | ./ssh-executor

# List tools
echo '{"jsonrpc": "2.0", "id": 2, "method": "tools/list"}' | ./ssh-executor

安全考虑

  • SSH密钥比密码更安全
  • 使用SSH端口转发以提高安全性
  • 限制目标服务器上的SSH用户权限
  • 定期轮换SSH密钥
  • 使用 ssh-keygen -t ed25519 适用于现代密钥类型

故障排除

连接问题

  • 验证SSH凭据和服务器可访问性
  • 检查SSH密钥权限(chmod 600 ~/.ssh/id_rsa)
  • 确保SSH服务正在目标服务器上运行

Docker问题

  • 验证Docker守护进程是否正在运行
  • 检查卷安装路径
  • 确保SSH目录具有正确的权限

MCP集成

  • 确认MCP设置已正确配置
  • 检查Docker镜像是否已构建并可用
  • 验证是否设置了环境变量

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改和测试
  4. 提交拉取请求

相关项目

目录标签

目录标签

GoDocker容器自动化SSH执行本地部署远程管理自动化工具MCP协议

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP