Token导航 LogoToken导航TokenDH.com
M2m MCP Server Ssh Server logo
运维云端stdio官方级别未说明来源级核验

M2m MCP Server Ssh Server

MCP Server

一个安全的SSH服务器,用于远程访问和交互MCP(Model Context Protocol)工具,提供统一的加密接口连接多个MCP工具提供商。

工具数

0

提示词数

0

GitHub Stars

11

资源数

0
远程访问PythonClaude密钥管理ClaudeCursor

安装说明

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

作者 / 组织

Machine-To-Machine

提供方

Machine-To-Machine

最后核验

2026/5/17 20:21

快速接入

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

命令预览

pip install m2m-mcp-server-ssh-server

详细介绍

MCP服务器SSH服务器

](https://pypi.org/project/m2m-mcp-server-ssh-server/) ](https://pypi.org/project/m2m-mcp-server-ssh-server/) ![License: MIT](https://opensource.org/licenses/MIT)

一个安全的SSH服务器,用于访问远程安装的MCP(模型上下文协议)工具并与之交互。该服务器允许客户端通过统一的安全接口连接到多个MCP工具提供商。

特性

  • 安全远程访问:通过SSH远程访问MCP工具
  • 基于密钥的身份验证:支持基于密钥的身份验证
  • 密钥管理API:用于管理SSH密钥的可选HTTP API
  • 服务器聚合:代理并将多个MCP服务器合并到一个统一的界面中
  • MCP支持:与MCP功能兼容,包括:

- 鼓励 - 资源 - 工具 - 日志记录

  • 动态配置:通过简单的JSON配置配置可用的MCP服务器

身份验证流程

%%{init: {'theme':'default', 'themeVariables': { 'primaryColor': '#5D8AA8', 'primaryTextColor': '#fff', 'primaryBorderColor': '#1F456E', 'lineColor': '#5D8AA8', 'secondaryColor': '#006400', 'tertiaryColor': '#fff' }}}%%

sequenceDiagram
    participant Host as MCP Host
(Claude/Cursor)
    participant Client as MCP SSH Client
    participant KeySrv as Key Server
(HTTP API)
    participant SSHSrv as MCP SSH Server
    participant MCP as MCP Servers

    Note over Client,SSHSrv: Initial Key Exchange & Authentication
    
    Client->>Client: Generate SSH key pair
if does not exist
    Client->>KeySrv: GET /server_pub_key
    KeySrv->>Client: Return server's public key
    Client->>Client: Store server key in
temporary known_hosts
    Client->>KeySrv: POST /register
{client_pub_key: "ssh-ed25519 AAAA..."}
    KeySrv->>SSHSrv: Store client public key
in authorized keys
    KeySrv->>Client: {status: "success"}
    
    Note over Client,SSHSrv: Secure SSH Connection
    
    Client->>SSHSrv: SSH handshake with
client key authentication
    SSHSrv->>SSHSrv: Verify client key
against authorized keys
    SSHSrv->>Client: Authentication successful
    
    Note over Client,SSHSrv: MCP Communication
    
    Host->>Client: JSONRPC request
    Client->>SSHSrv: Forward request
over SSH tunnel
    SSHSrv->>MCP: Route request to
appropriate MCP server
    MCP->>SSHSrv: Process and return results
    SSHSrv->>Client: Send response over SSH
    Client->>Host: Return JSONRPC response
    
    Note over Client,SSHSrv: Session Management
    
    alt Session Termination
        Host->>Client: Close connection
        Client->>SSHSrv: Terminate SSH session
        SSHSrv->>SSHSrv: Clean up resources
    end

安装

在一个 uv 托管python项目,通过以下方式添加依赖项:

uv add m2m-mcp-server-ssh-server
# For key server functionality, include the optional dependency:
uv add m2m-mcp-server-ssh-server[key-server]

或者,对于使用 pip 对于依赖关系:

pip install m2m-mcp-server-ssh-server
# Or with key server functionality
pip install m2m-mcp-server-ssh-server[key-server]

要直接从源代码安装:

git clone https://github.com/Machine-To-Machine/m2m-mcp-server-ssh-server.git
cd m2m-mcp-server-ssh-server
pip install -e .

要在项目中运行服务器,请执行以下操作:

uv run m2m-mcp-server-ssh-server

常见用例

1.当地发展环境

使用您喜欢的MCP工具快速设置本地服务器:

  1. 创建配置文件(servers_config.json):
{
  "mcpServers": {
    "HackerNews": {
      "command": "uvx",
      "args": ["mcp-hn"]
    },
    "major-league-baseball": {
      "command": "uvx",
      "args": ["mcp_mlb_statsapi"]
    }
  }
}
  1. 使用密钥管理API启动服务器,以便更轻松地连接客户端:
uv run m2m-mcp-server-ssh-server --run-key-server
  1. 使用客户端连接:
uv run m2m-mcp-server-ssh-client --host localhost --port 8022 --use-key-server

2.远程托管(快速设置)

要使您的MCP工具远程可用,请执行以下操作:

  1. 在您的服务器上安装:
uv add m2m-mcp-server-ssh-server[key-server]
  1. 使用所需的MCP工具创建配置文件
  1. 启动与所有接口的服务器绑定:
uv run m2m-mcp-server-ssh-server --host 0.0.0.0 --run-key-server --key-server-host 0.0.0.0
  1. 从客户端计算机连接:
uv run m2m-mcp-server-ssh-client --host your-server.example.com --port 8022 --use-key-server

有关更详细的部署说明,请参阅 云部署指南.

用法

命令行选项

  • --host:要绑定的SSH服务器主机地址(默认值:127.0.0.1)
  • --port:要侦听的SSH服务器端口(默认值:8022)
  • --authorized-clients:授权密钥文件的路径(默认:~/.ssh/authorized_keys)
  • --server-key:服务器私钥文件的路径(默认:~/.ssh/m2m_mcp_server_ssh_server)
  • --passphrase:私钥的密码短语(可选)
  • --servers-config:服务器配置JSON路径(默认:servers_config.JSON)
  • --log-level:设置日志记录级别(默认值:INFO)
  • --run-key-server:运行HTTP密钥管理服务器
  • --key-server-port:HTTP密钥管理服务器的端口(默认值:8000)
  • --key-server-host:HTTP密钥管理服务器的主机(默认值:127.0.0.1)
  • --version:显示版本信息并退出

安全说明:当绑定到所有接口(0.0.0.0)时,您的服务器将可以从任何可以访问您系统的机器访问。确保使用强身份验证,并考虑防火墙等其他安全措施。

密钥管理服务器

您可以选择在SSH服务器旁边运行密钥管理HTTP服务器,以简化客户端密钥注册:

uv run m2m-mcp-server-ssh-server --run-key-server

这将开始:

  • 端口8022上的SSH服务器
  • 端口8000上的密钥管理HTTP服务器(默认情况下仅限本地主机)

密钥管理API

密钥管理服务器提供以下端点:

  1. POST /register -注册客户端的公钥

- 请求正文: {"client_pub_key": "ssh-rsa AAAA..."} - 答复: {"status": "success"} 或错误消息

  1. GET /server_pub_key -获取服务器的公钥

- 答复: {"server_pub_key": "ssh-ed25519 AAAA..."}

  1. GET /health -检查服务器运行状况

- 答复: {"status": "healthy"}

客户端密钥注册示例:

curl -X POST -H "Content-Type: application/json" \
  -d '{"client_pub_key": "ssh-rsa AAAA..."}' \
  http://localhost:8000/register

安全考虑

  • 默认绑定到localhost(127.0.0.1)以提高安全性
  • 如果未提供密钥,则会自动生成具有安全权限的密钥
  • 默认密钥位置为 ~/.ssh/m2m_mcp_server_ssh_server
  • 私钥使用0o600权限(只能由所有者读取)
  • 公钥使用0o644权限(所有人可读,所有者可写)
  • 密钥服务器对API终结点使用速率限制
  • 输入验证可防止恶意输入

依赖项

  • anyio(>=4.5.0)
  • asyncssh (>=2.20.0)
  • mcp(>=1.1.3)
  • 媒染剂(>=2.0.0)
  • aiohttp(>=3.11.16)-可选,用于关键服务器功能

发展

设置开发环境

git clone https://github.com/Machine-To-Machine/m2m-mcp-server-ssh-server.git
cd m2m-mcp-server-ssh-server
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install -e ".[dev]"

代码质量

# Run linting
uv run ruff check .

# Run formatting check
uv run ruff format --check .

# Run security checks
uv run bandit -r src/

贡献

我们欢迎捐款,以帮助扩大和改进 m2m-mcp-server-ssh-server。无论您是想添加新功能、增强现有功能还是改进文档,您的意见都是有价值的。

欢迎拉取请求!请随时贡献新想法、错误修复或增强功能。

贡献指南

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feature-name
  3. 提交您的更改: git commit -am 'Add some feature'
  4. 推到分支: git push origin feature-name
  5. 提交拉取请求

许可证

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

作者

  • 机器对机器

目录标签

目录标签

远程访问PythonClaude密钥管理本地部署SSH服务器MCP工具服务器聚合

支持客户端

ClaudeCursor

接入字段

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

stdio

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

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP