SSH自动化工具包

一个基于Model Context Protocol (MCP)的SSH自动化工具包,支持远程命令执行和文件传输,适用于DevOps自动化和服务器管理。

  • by VitalyMalakanov
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 vitalymalakanov/mcp-ssh-toolkit-py

使用说明

mcp-ssh工具包py

用于安全SSH自动化的最小模型上下文协议(MCP)服务器,使用 python sdk 和 帕拉米科.


目录


概述🚀

mcp-ssh工具包py 是一个功能强大的MCP服务器,用于通过模型上下文协议安全执行SSH命令。

🔹 主要特点:

  • 通过SSH在远程服务器上执行任意命令
  • 通过SFTP上传/下载文件
  • 与Claude/Cline和其他MCP客户集成
  • 支持密码和SSH密钥身份验证
  • 可配置的连接参数(超时、端口)

🔹 用例:

  • 通过LLM实现DevOps自动化
  • 通过聊天界面进行服务器管理
  • 安全远程脚本执行
  • MCP生态系统中的SSH集成

示例用法:

# Through MCP client
response = mcp.tool("ssh_execute_command", {
    "host": "example.com",
    "username": "user",
    "command": "docker ps"
})

特性✨

核心功能

  • 🛡️ 通过MCP安全执行SSH命令
  • 📁 SFTP操作(文件上传/下载)
  • 🔑 多种身份验证方法:
    • 用户名/密码
    • SSH密钥(RSA)
    • SSH代理

整合

  • 🤖 与Claude/Cline完全兼容
  • 🐳 即用型Docker镜像
  • 📦 Pip包安装

安全

  • 🔒 加密连接
  • ⏱ 可配置超时
  • 🚫 无凭据存储

安装📦

Docker(推荐)

  1. 克隆存储库:
git clone https://github.com/VitalyMalakanov/mcp-ssh-toolkit-py.git
cd mcp-ssh-toolkit-py
  1. 构建Docker镜像:
docker build -t mcp-ssh-toolkit-py .
  1. (可选)推送到Docker注册表:
docker tag mcp-ssh-toolkit-py yourusername/mcp-ssh-toolkit-py
docker push yourusername/mcp-ssh-toolkit-py

管道安装

直接从GitHub安装:

pip install git+https://github.com/VitalyMalakanov/mcp-ssh-toolkit-py.git

安装后运行服务器:

python -m mcp_ssh_toolkit

开发设置

对于开发,请安装:

git clone https://github.com/VitalyMalakanov/mcp-ssh-toolkit-py.git
cd mcp-ssh-toolkit-py
pip install -e .

快速启动

使用Docker运行

docker run --rm -i mcp-ssh-toolkit-py

MCP集成

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

"mcp-ssh-toolkit-py": {
  "command": "docker",
  "args": ["run", "--rm", "-i", "mcp-ssh-toolkit-py"],
  "env": {}
}

用法

工具: ssh_execute_command

说明:
通过SSH在远程服务器上执行命令。

输入参数:

  • host (字符串,必填):SSH服务器地址
  • username (字符串,必填):SSH用户名
  • password (字符串,可选):SSH密码
  • privateKey (字符串,可选):SSH私钥(PEM)的路径
  • command (string,必填):要执行的命令
  • port (整数,可选,默认22):SSH端口
  • timeout (整数,可选,默认值20):连接超时(秒)

输出:

  • stdout:命令输出
  • stderr:错误输出
  • exit_code:退出代码

示例调用:

{
  "host": "example.com",
  "username": "user",
  "password": "secret",
  "command": "uname -a"
}

发展

在本地安装依赖项:

pip install -r requirements.txt

在本地运行:

python main.py

安全

  • SSH凭据从未被存储或记录。
  • 始终使用强密码或SSH密钥进行身份验证。
  • 不要将MCP服务器暴露在不受信任的网络中。
  • 审查 paramiko安全最佳实践.
  • 如果您发现安全漏洞,请通过GitHub Issues报告或私下联系维护人员。

许可证

MIT许可证。看 许可证 了解详情。