使用手册

接入后直接用自然语言要求 AI 操作,例如“列出服务器”“对 web-a 和 web-b 并行查看 hostname”“把这几个本地文件批量上传到 web-a”。开始远程操作前先调用 ssh_list_servers 选择目录中的目标。

完整的选工具、单位和结果判读见 AI_GUIDE.md。下列 web-a、web-b 和路径只是格式示例,必须换成用户的真实目标。

添加自己的服务器

本机模式可编辑自己的 TOML;将示例地址和用户替换为真实值:

[ssh_servers.web-a]
host = "server.example.com"
port = 22
user = "deploy"
key_path = "~/.ssh/id_ed25519"
description = "我的应用服务器"

指定跳板:先配置名为 bastion 的服务器,再给目标添加 proxy_jump = "bastion"。Windows OpenSSH 目标添加 platform = "windows"。密码认证使用你自己的私密配置,不把密码粘贴到公共文档。SSH agent 的使用仅适用于独立本机模式,中心连接器不读取无关本机身份。

目录更新通常无需重启 MCP。也可以使用 ssh_server_manage:

{"action":"add","server":"web-a","host":"server.example.com","port":22,"user":"deploy","key_path":"~/.ssh/id_ed25519","installHelper":false}

在集中模式中,工具管理的是中心目录,key_path 必须符合该模式的密钥导入/路径合同;不要直接把新机本地路径当作中心路径。新增真实节点时由 AI 查看实时 schema,并采用用户授权的凭据输入方式。

执行命令

{"server":"web-a","command":"hostname","timeout":10000}

多机同命令,一次调用:

{"servers":["web-a","web-b"],"command":"hostname","strategy":"parallel","timeout":10000}

有依赖时用 sequential;滚动执行用 rolling 和毫秒 delay。stopOnError 不能撤回已经并行发出的请求。远端写入失败后先查看结果,不要无条件重放部署或数据库导入。

批量传文件

{
  "server":"web-a",
  "concurrency":4,
  "files":[
    {"localPath":"/absolute/local/app.conf","remotePath":"/home/deploy/app.conf"},
    {"localPath":"/absolute/local/readme.txt","remotePath":"/home/deploy/readme.txt"}
  ]
}

Windows 的 localPath 使用本机绝对路径,例如 C:/Users/you/Documents/app.conf。所有目标路径必须互不重复。读回或远端计算哈希用于确认传输;批量上传部分失败时查看每项结果,仅重试确实未完成的项目。

ssh_read、ssh_write、ssh_edit 操作远端文件,具体字段查看 tools.json。目录同步使用 ssh_sync,执行前核对方向和目标。创建隧道时优先监听本机回环地址,操作系统和目标 SSH 账号必须允许对应转发。

常用检查