2native SSH MCP Server

io.github.daidaiJ由 GitHub 账号 daidaiJ 发布v1.7.0更新于 Oct 27, 2026

SSH-based MCP server for remote command execution and file transfer. Credentials stay local.

概览

AI 生成的概览

本地运行的 SSH MCP 服务器,让 AI 助手远程执行命令、管理会话和传输文件,凭据保留在本机。

可以做什么
  • 列出已配置的 SSH 服务器并选择目标主机
  • 远程执行命令,支持断连后仍存活、可重新附着的后台长任务
  • 管理持久会话,含懒连接、keepalive 与按超时清理远端进程
  • 通过 SFTP 传输文件,支持原子落盘、断点续传、目录递归、sha256 校验与进度通知
  • 大输出写入本地文件,助手可直接读取或检索,无需远程重跑
适用场景
适合需要让助手通过 SSH 操作远程 Linux 或 Unix 主机、执行命令、查看输出并搬运文件的场景,同时不把 SSH 凭据交给模型。也适用于经跳板机访问内网机器的环境。
运行要求
以本地桌面进程运行(stdio,或可选的 HTTP 常驻服务),使用对应平台的安装包,无需 Node.js 或 Python 运行时。需要配置文件或环境变量提供 SSH 连接信息与凭据,并能访问目标主机网络。支持密码、私钥、ssh-agent、Pageant 与键盘交互式两步验证。
安装前请注意
助手可在远程主机执行任意命令并写入或删除文件;建议开启可选的破坏性命令审批模式,并配置命令与路径的白名单、黑名单。客户端不支持 elicitation 时审批会放行。凭据保存在本地配置文件或环境变量中,需注意文件权限。审计日志写入本地,可校验是否被篡改。

安装

在 SourceWeft 中

  1. 打开 控制台中的 2native SSH MCP Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

English

2native-ssh-mcp

[CI] [Release] [Go] [License] [SLSA] [MCP Registry]

[2native-ssh-mcp — Native Go SSH MCP, credentials stay local]

基于 SSH 的 MCP (Model Context Protocol) 服务器,Go 实现。让 AI 助手通过 MCP 协议远程执行命令、传输文件,SSH 凭据完全留在本地,不暴露给模型。

本项目参考了 classfang/ssh-mcp-server(TypeScript 版)的设计与实现,在其基础上用 Go 重写,并将文件操作整合为单个工具、支持进度通知。感谢原作者的开源贡献。

架构

[架构:AI Agent 经 MCP 调用本机 2native-ssh-mcp,再经 SSH 到达远端主机]

AI 助手只看到四个 MCP 工具;本机进程负责 SSH,凭据不会进入模型上下文。

📖 文档

读者文档说明
🤖 AI Agentdocs/AGENT_GUIDE.md省 token 版:工具参数、配置、安全模式、部署命令速查
👤 人类用户docs/HUMAN_GUIDE.md易读版:安全配置、快速开始、工具说明、参数速查、发布流程
🔍 特性详情docs/FEATURES.md完整特性列表与已知限制(英文版 .en.md)
🛠 开发与发布docs/DEVELOPMENT.md项目结构、构建测试、Release 与 MCP Registry 发布流程
🔐 安全SECURITY.md威胁模型、审批闸门、审计落盘策略与分级加固建议

各文档均为中文默认,同名 .en.md 为英文版。

✨ 核心特性

  • 四个工具:list-servers / execute-command / session / file-transfer;后台长任务是 execute-command 的 background: true 特殊模式,不是第五个工具
  • 远程执行:懒连接 + keepalive、超时按远端 PID 杀进程组、默认不分配 PTY、后台任务断连存活可重附着
  • 输出处理:ANSI 剥离、大输出落盘到本地(.ssh-mcp-out/),Agent 用 Read/Grep 查全文,不远程重跑
  • 文件传输:原子落盘、去重、断点续传、目录递归、sha256 校验、进度通知
  • 破坏性命令审批(可选):approvalMode: "ask-destructive" 经 MCP elicitation 弹窗确认,内置分类器 + 用户扩展/豁免,灰色地带用户自定;客户端不支持时 fail-open
  • 防篡改审计日志:每条命令追加进 SHA-256 哈希链(JSONL),事后篡改可定位到行(audit-verify);落盘策略批量/写穿可调 → 审计日志
  • 跳板机隧道:via(OpenSSH ProxyJump)经跳板 direct-tcpip 连内网,各跳独立认证、不转发 agent,exec/shell/SFTP 行为与直连一致 → 跳板机
  • 安全:命令白/黑名单、路径白名单、凭据隔离、配置权限检查
  • 双传输:stdio / streamable HTTP daemon(引用计数、健康检查、Windows 一键自启)
  • 认证兼容:密码/私钥/ssh-agent/Pageant/键盘交互 2FA(挑战弹窗到 MCP 客户端,无人值守用环境变量兜底)、代理、算法协商(兼容老服务器)→ 认证方式

[凭据隔离:SSH 密钥与密码留在本机进程,不会到达模型]

完整特性列表见 docs/FEATURES.md。

🚀 快速上手

bash
# 构建go build -o 2native-ssh-mcp.exe .
# stdio 模式(MCP 客户端拉起,凭据放 config.json 或环境变量)2native-ssh-mcp.exe --config-file config.json
# HTTP 常驻服务2native-ssh-mcp.exe start --config-file config.json --http-addr 127.0.0.1:8338

详细配置与部署步骤见上方两份指南。

License

ISC License(与上游一致,保留上游版权声明,见 LICENSE)

来源:README.md,提交 bb0adb9

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.7.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分