agent-ssh
v1.0.3
Published
SSH remote management CLI - execute commands, upload/download files via SSH
Maintainers
Readme
agent-ssh
SSH 远程管理 CLI 工具,支持在远程服务器上执行命令和传输文件。可独立作为 CLI 使用,也可作为 MCP Server 运行。
安装
全局安装
npm install -g agent-ssh
agent-ssh --help本地安装
npm install
npm run build
node dist/cli.js --help本地 link(发布前)
npm link
agent-ssh --helpCLI 命令
| 命令 | 功能 |
|------|------|
| exec <command> | 远程执行命令 |
| upload <local> <remote> | 上传文件 |
| download <remote> <local> | 下载文件 |
| upload-dir <local> <remote> | 上传目录 |
| download-dir <remote> <local> | 下载目录 |
| list-servers | 列出已配置的服务器 |
| --mcp | 以 MCP Server 模式运行 |
使用示例
# 使用配置文件中的服务器
agent-ssh exec "df -h" -s production
agent-ssh upload ./file.txt /root/file.txt -s development
agent-ssh download /var/log/app.log ./logs/ -s production
agent-ssh list-servers
# 直接指定连接参数
agent-ssh exec "ls -la" -H 192.168.1.100 -u root -p password
agent-ssh upload ./deploy.sh /opt/deploy.sh -H 192.168.1.100 -u root --private-key ~/.ssh/id_rsa
# JSON 格式输出
agent-ssh exec "uname -a" -s production --json配置文件
创建 .agent-ssh/config.json 在命令执行的目录下:
{
"servers": {
"production": {
"host": "192.168.1.100",
"port": 22,
"username": "root",
"password": "your_password",
"timeout": 60000
},
"development": {
"host": "192.168.1.50",
"port": 2222,
"username": "admin",
"privateKey": "/path/to/id_rsa",
"timeout": 30000
}
},
"defaultServer": "development"
}配置文件搜索顺序
AGENTS_SSH_CLI_CONFIG环境变量指定路径- 当前目录下的
.agent-ssh/config.json - 项目目录下的
ssh-cli.config.json - 当前目录下的
ssh-cli.config.json - 用户主目录下的
.ssh-cli-config.json
配置参数说明
| 参数 | 必填 | 默认值 | 说明 |
|------|------|--------|------|
| host | 是 | - | SSH 服务器地址 |
| port | 否 | 22 | SSH 端口 |
| username | 是 | - | 用户名 |
| password | 否 | - | 密码(与 privateKey 二选一) |
| privateKey | 否 | - | 私钥路径或内容(与 password 二选一) |
| timeout | 否 | 30000 | 超时时间(毫秒) |
认证方式
支持两种认证方式,password 和 privateKey 二选一即可:
密码认证:
agent-ssh exec "ls" -H 192.168.1.100 -u root -p mypassword私钥认证:
agent-ssh exec "ls" -H 192.168.1.100 -u root -k ~/.ssh/id_rsaMCP Server 模式
保留完整的 MCP 协议兼容性,可作为 Agent 的 MCP Server 使用。
agent-ssh --mcp可用 MCP 工具
| 工具 | 说明 |
|------|------|
| ssh_list_servers | 列出所有已配置的服务器 |
| ssh_execute_command | 执行命令 |
| ssh_upload_file | 上传文件 |
| ssh_download_file | 下载文件 |
| ssh_upload_directory | 上传目录 |
| ssh_download_directory | 下载目录 |
MCP 客户端配置
{
"mcpServers": {
"agent-ssh": {
"command": "agent-ssh",
"args": ["--mcp"]
}
}
}