SSH MCP Server v2 是一个以安全为先的 Model Context Protocol 服务器,为 LLM 代理提供对远程主机的受控 SSH 访问。它着重于管理将 shell 访问权交给 LLM 所带来的安全风险,通过在执行前对命令进行分类、基于角色与主机组矩阵进行授权、对破坏性操作进行人工审批以及记录所有决策来缩小风险范围。
主要能力
- 支持通过密码或 SSH 密钥认证,控制 Linux 和 Windows 服务器。
- 提供一次性命令执行、交互式会话(保持 CWD 和环境变量)以及后台会话(用于长时间运行的进程)。
- 支持 SFTP 文件传输,包括流式传输和基于模型的传输。
- 内置策略引擎,支持基于角色的授权、拒绝列表、命令分类和审批流程。
- 支持 ProxyJump(通过堡垒机访问内部主机)和 SSH CA 证书。
- 提供详细审计日志和主机端识别(通过 AI_AGENT 环境变量)。
使用方式
- 创建配置文件,路径取决于平台。Linux/macOS 需要文件权限为 700;Windows 需要适当的 ACL 设置。
- 通过环境变量设置凭据,切勿在命令行参数中传递密码。
- 从 MCP 客户端(如 Claude Desktop、Cursor、Windsurf)连接。
- 配置文件决定主机、角色和策略规则。可选的策略段可覆盖默认矩阵。
适用场景
- 需要让 AI 代理安全地管理远程服务器(如执行运维命令、部署、日志查看)的场景。
- 企业环境中,需要通过中央 SSH 证书颁发机构或堡垒机访问内部主机的场景。
- 需要严格审计和审批流程的自动化运维任务。
限制
- 交互式会话需要 POSIX shell(sh、bash、ash、zsh),不支持 Windows 默认的 cmd.exe。
- 文件传输工具在 Windows 上不可用,因为无法验证传输根目录的私有性。
- 需要正确配置以避免将密码暴露在命令行参数中。
- 不提供版本信息,AI_AGENT 环境变量仅作为标识,不应作为授权依据。
- 部分功能(如流式文件传输)需要配置 defaults.transferRoot。
- 所有工具调用在未配置时会被拒绝。