SSH控制服务器

SSH MCP Server是一个本地模型上下文协议(MCP)服务器,通过SSH为Linux和Windows系统提供控制功能,使LLM和其他MCP客户端能够通过SSH安全执行shell命令。

  • by vilasone455
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 vilasone455/ssh-mcp-server

使用说明

SSH MCP服务器

SSH MCP服务器 是一个本地模型上下文协议(MCP)服务器,它为Linux和Windows系统公开SSH控制,使LLM和其他MCP客户端能够通过SSH安全地执行shell命令。


特性

  • 符合MCP标准的服务器暴露SSH功能
  • 在远程Linux和Windows系统上执行shell命令
  • 通过密码或SSH密钥进行安全身份验证
  • 具有内置安全检查的只读模式
  • 使用TypeScript和官方MCP SDK构建

可用工具

工具 说明
get_available_connections 列出可通过SSH连接的机器
create_connection 打开一个新的SSH会话并通过以下方式跟踪它 connection_id
get_connections 列出所有活动的SSH会话
execute_command 运行shell命令(不受限制)
secure_execute_command 更安全的命令执行;阻止破坏性行为
close_connection 关闭活动的SSH会话

快速开始

1.克隆存储库

$ git clone https://github.com/vilasone455/ssh-mcp-server.git

2.创建机器配置

创建一个 machines.json 具有以下结构的文件:

[
   {
    "machine_id": "todo-server-01",
    "label": "Todo server",
    "os": "ubuntu",
    "source": "digitalocean",
    "ssh": {
      "host": "192.168.1.11",
      "port": 22,
      "username": "user",
      "password": "your_password_here"
    }
  },
  {
    "machine_id": "build-agent-01",
    "label": "CI Build Agent (Key Auth)",
    "os": "ubuntu",
    "source": "aws",
    "ssh": {
      "host": "192.168.1.12",
      "port": 22,
      "username": "ubuntu",
      "keyPath": "/home/ubuntu/.ssh/id_rsa"
    }
  }

]

客户端设置(Claude桌面示例)

要将此MCP服务器集成到Claude Desktop中,请添加服务器命令和所需的环境变量:

{
  "mcpServers": {
    "ssh-mcp": {
      "command": "node",
      "args": [
        "/path/to/ssh-mcp-server/dist/index.js"
      ],
      "env": {
        "MACHINES_PATH": "/path/to/your/machines.json"
      }
    }
  }
}

现在,您可以使用自然语言与服务器交互,例如“运行 uptime 在Todo VM上。"


免责声明

使用风险自负。此服务器通过MCP授予shell级访问权限。仔细检查命令并在安全的环境中运行。


贡献

启动回购,打开问题,并提交拉取请求!欢迎反馈。