ssh_batch_exec
Execute Bash/Shell commands across multiple Linux hosts in parallel or serial, with host selectors, concurrency limits, sudo, and output truncation.
Instructions
向多台目标 Linux 主机批量分发执行无状态 Bash/Shell 命令(支持 @all_active、@all_configured、通配符、并发限流、串行中断及 16KB 紧凑输出截断)
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"command": "<command>",
"targets": "<targets>"
},
"name": "ssh_batch_exec"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | 初始执行工作目录(自动包装为 cd <cwd> && <command>) | |
| env | No | 注入远程环境的环境变量键值对 | |
| mode | No | 批量调度模式:parallel(受控并发,默认)或 serial(顺序串行) | parallel |
| sudo | No | 是否以 sudo 特权身份执行命令(默认 false)。若为 true,自动通过 SSH Channel Stdin 管道流式安全注入提权密码,零命令行明文泄露 | |
| dryRun | No | 是否仅通过安全拦截守卫检测合规性,而不真正下发执行,默认 false | |
| command | Yes | 待在远程 Linux 系统执行的 Bash/Shell 命令 | |
| rawExec | No | 是否绕过登录 Shell 包装(bash -l -c),直接以非登录 Shell 原生执行,默认 false | |
| targets | Yes | 目标主机选择器列表(支持主机别名、连接 ID、'@all_active'、'@all_configured' 或通配符如 'web-*') | |
| timeoutMs | No | 执行超时时间(毫秒),默认 60000ms (1分钟) | |
| concurrency | No | parallel 并发模式下的最大并发数上限(1-20,默认 5) | |
| stopOnError | No | serial 串行模式下遇到节点失败或非 0 退出码时是否立即中断后续节点执行(默认 false) | |
| sudoPassword | No | sudo 提权专用密码。若未提供,则自动复用当前 SSH 连接的登录密码 | |
| dangerouslySkipSafetyCheck | No | 是否强制跳过前置高危安全拦截规则(危险操作逃生门,需同时配置环境变量 SSH_ALLOW_DANGEROUS_COMMANDS=true 授权) |