背景

  1. 一开始用 mcp-ssh-server 感觉很好用,但是不是每个项目都需要ssh-mcp,手动启用/禁用mcp有点麻烦。mcp开着会浪费一些token。
  2. 本来只是为了服务项目开发运维服务器,后来发现用来mjj非常舒服,分享出来给大家愉快mjj。
  3. 每次修改mcp的服务器配置,都需重启cli或者客户端,有点麻烦,本项目已经修改成实时热重载最新配置。
  4. 参考ssh-mcp 开发了cli+skill的版本。可以随时随地使用,可以随时修改json配置。配置格式和ssh-mcp 保持一致。
  5. 重构成rust实现。
  6. 加密密码防止中转泄露密码。

他能做的事:

  • 解放双手,自动运维服务器
  • 部署代码,更新部署docker
  • 配置nginx,配置证书
  • 所有ssh能做到的事情

他的能力:

  • 列出本地配置中的 SSH 服务器连接
  • 在指定远端服务器上执行命令
  • 上传本地文件到远端服务器
  • 从远端服务器下载文件到本地
  • 通过命令黑白名单限制可执行命令
  • 安全控制:加入命令黑白名单、本地路径白名单、危险操作确认说明;配置中不输出密码、私钥等敏感字段。
  • 缓存机制:加入 Rust daemon 连接缓存, 默认复用 SSH 连接,减少短时间内的重复命令开销,缩短命令时间。
  • 跨平台支持:支持 macOS arm64/x64、Linux x64/arm64、Windows x64
  • 架构升级:移除了旧的 src/*.js Node SSH 实现,改为 Rust 原生入口,更快的响应速度。
  • 将config.json中的明文密码加密存储,会在服务器第一次使用的时候加密存储。防止被ai读取到在中转站中泄露。密钥只有路径,暂时不需要加密处理。

项目地址

GitHub - sleepinginsummer/agent-ssh-cli: Provide the SSH CLI tool for the agent to...

Provide the SSH CLI tool for the agent to use。提供给agent使用的 ssh cli 工具。

一句话agent安装

安装请阅读 https://github.com/sleepinginsummer/agent-ssh-cli/blob/main/AI_INSTALL.md,按说明安装 CLI 并添加 `SKILL.md`。

使用截图

image

image

image

image