返回市场
ssh-mcp服务端

ssh-mcp服务端

作者:tufantunc151 星标更新:2025-11-07

项目介绍

SSH MCP 服务器

NPM 版本 下载量 Node 版本 许可证 GitHub Stars GitHub Forks 构建状态 GitHub Issues

信任评分

SSH MCP 服务器是一个本地模型上下文协议(MCP)服务器,它暴露了对Linux和Windows系统的SSH控制功能,使大型语言模型(LLMs)和其他MCP客户端能够通过SSH安全地执行shell命令。

内容

快速开始

  • 安装 SSH MCP 服务器
  • 配置 SSH MCP 服务器
  • 设置您的 MCP 客户端(例如 Claude Desktop、Cursor 等)
  • 通过自然语言在您的 Linux 或 Windows 服务器上执行远程 shell 命令

特性

  • 符合MCP标准的服务器,提供SSH能力
  • 在远程Linux和Windows系统上执行shell命令
  • 通过密码或SSH密钥进行安全认证
  • 使用TypeScript和官方MCP SDK构建
  • 可配置超时保护,自动终止运行进程
  • 优雅的超时处理 - 尝试在关闭连接前杀死挂起的进程

工具

  • exec: 在远程服务器上执行一个shell命令

    • 参数:
      • command (必需): 要在远程SSH服务器上执行的shell命令
    • 超时配置:
  • sudo-exec: 使用sudo权限提升执行一个shell命令

    • 参数:
      • command (必需): 使用sudo作为root用户执行的shell命令
    • 注意事项:
      • 需要设置 --sudoPassword 来使用受密码保护的sudo
      • 如果不需要或无法使用sudo访问,可以通过传递 --disableSudo 标志来禁用
      • 对于持久的root访问,考虑使用 --suPassword 代替,这会建立一个root shell
      • 如果启动时设置了 --disableSudo,则此工具完全不可用
    • 超时配置:
      • 超时通过命令行参数 --timeout (以毫秒为单位) 配置
      • 默认超时时间: 60000ms (1分钟)
      • 当命令超时时,服务器会尝试在关闭连接前自动终止正在运行的进程
    • 最大命令长度配置:
      • 最大命令字符数通过 --maxChars 配置
      • 默认值: 1000
      • 无限制模式: 设置 --maxChars=none 或任何 <= 0 的值 (例如 --maxChars=0)

安装

  1. 克隆仓库:
    git clone https://github.com/tufantunc/ssh-mcp.git
    cd ssh-mcp
    
  2. 安装依赖项:
    npm install
    

客户端设置

您可以配置您的IDE或LLM如Cursor、Windsurf、Claude Desktop来使用这个MCP服务器。

所需参数:

  • host: Linux或Windows服务器的主机名或IP地址
  • user: SSH用户名

可选参数:

  • port: SSH端口 (默认: 22)
  • password: SSH密码 (或使用 key 进行基于密钥的身份验证)
  • key: 私有SSH密钥路径
  • sudoPassword: sudo权限提升时使用的密码 (当执行带有sudo的命令时)
  • suPassword: su权限提升时使用的密码 (当需要持久的root shell时)
  • timeout: 命令执行超时时间 (以毫秒为单位,默认: 60000ms = 1分钟)
  • maxChars: 允许的最大命令字符数 (默认: 1000)。使用 none0 可以禁用限制。
  • disableSudo: 完全禁用 sudo-exec 工具的标志。当不需要或无法使用sudo访问时很有用。
{
    "mcpServers": {
        "ssh-mcp": {
            "command": "npx",
            "args": [
                "ssh-mcp",
                "-y",
                "--",
                "--host=1.2.3.4",
                "--port=22",
                "--user=root",
                "--password=pass",
                "--key=path/to/key",
                "--timeout=30000",
                "--maxChars=none"
            ]
        }
    }
}

Claude Code

您可以通过 claude mcp add 命令将此MCP服务器添加到Claude Code中。这是推荐的方法。

基本安装:

claude mcp add --transport stdio ssh-mcp -- npx -y ssh-mcp -- --host=YOUR_HOST --user=YOUR_USER --password=YOUR_PASSWORD

安装示例:

使用密码身份验证:

claude mcp add --transport stdio ssh-mcp -- npx -y ssh-mcp -- --host=192.168.1.100 --port=22 --user=admin --password=your_password

使用SSH密钥身份验证:

claude mcp add --transport stdio ssh-mcp -- npx -y ssh-mcp -- --host=example.com --user=root --key=/path/to/private/key

自定义超时和无字符限制:

claude mcp add --transport stdio ssh-mcp -- npx -y ssh-mcp -- --host=192.168.1.100 --user=admin --password=your_password --timeout=120000 --maxChars=none

支持sudo和su:

claude mcp add --transport stdio ssh-mcp -- npx -y ssh-mcp -- --host=192.168.1.100 --user=admin --password=your_password --sudoPassword=sudo_pass --suPassword=root_pass

安装范围:

您可以在添加服务器时指定范围:

  • 本地范围 (默认): 在当前项目中个人使用

    claude mcp add --transport stdio ssh-mcp --scope local -- npx -y ssh-mcp -- --host=YOUR_HOST --user=YOUR_USER --password=YOUR_PASSWORD
    
  • 项目范围: 通过 .mcp.json 文件与团队共享

    claude mcp add --transport stdio ssh-mcp --scope project -- npx -y ssh-mcp -- --host=YOUR_HOST --user=YOUR_USER --password=YOUR_PASSWORD
    
  • 用户范围: 在所有项目中可用

    claude mcp add --transport stdio ssh-mcp --scope user -- npx -y ssh-mcp -- --host=YOUR_HOST --user=YOUR_USER --password=YOUR_PASSWORD
    

验证安装:

添加服务器后,重启Claude Code并请求Cascade执行命令:

"您能在远程服务器上运行 'ls -la' 吗?"

有关Claude Code中的MCP更多信息,请参阅官方文档

测试

您可以使用MCP Inspector进行此MCP服务器的可视化调试。

npm run inspect

免责声明

SSH MCP 服务器根据MIT 许可证提供。自行承担风险。此项目未得到任何SSH或MCP提供商的支持或认可。

贡献

我们欢迎贡献!请参阅我们的贡献指南了解更多信息。

行为准则

本项目遵循行为准则,以确保每个人都有一个欢迎的环境。

支持

如果您发现SSH MCP服务器有用,请考虑给仓库加星或做出贡献!欢迎提出拉取请求和反馈。