ssh-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ssh-mcpRun 'uptime' on prod-web"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ssh-mcp
面向多服务器运维的 SSH / SFTP CLI 与 MCP 服务。
用一份可审计的服务器配置,完成远程命令、文件传输、端口转发和基础健康检查。
ssh-mcp 把日常 SSH 操作收敛成一个可脚本化的命令行工具,也可以作为 MCP stdio 服务接入 Claude Code、Codex 等客户端。它不替代服务器权限系统:连接使用现有 SSH 凭据,命令仍在目标服务器上执行,安全拦截只作为额外保护层。
当前版本:1.5.2 · Node.js 18+ · MIT
安装 · 5 分钟上手 · 配置 · 命令参考 · MCP 接入
核心能力
能力 | 说明 |
远程执行 | 单台或批量执行命令,保留 stdout、stderr 和退出码 |
文件传输 | SFTP 后台任务、进度轮询、取消和断点续传 |
网络通道 | 本地转发和远程转发,访问内网 HTTP 或 TCP 服务 |
运行检查 | 健康检查、证书信息、环境信息、远程 HTTP 请求 |
配置运维 | 服务器间直传、配置对比、目录快照、脚本执行 |
AI 接入 | MCP stdio 服务和 Claude/Codex 插件清单 |
Related MCP server: vps-mcp
适合什么场景
日常登录多台服务器,快速执行命令并保留清晰的退出码和输出。
上传或下载大文件,任务在后台运行并支持断点续传。
从跳板机访问内网 HTTP 服务或数据库端口。
让 MCP 客户端在明确的服务器配置和安全策略下执行运维动作。
安装
npm install -g @bingzi-233/ssh-mcp
ssh-mcp --help从源码安装:
git clone https://github.com/BingZi-233/ssh-mcp.git
cd ssh-mcp
npm ci
npm run build
npm link5 分钟上手
cp servers.example.json servers.json
$EDITOR servers.json
ssh-mcp list-servers
ssh-mcp run-command -s prod-web -c "hostname && uptime"
ssh-mcp health -s prod-web如果配置文件不在当前目录:
SSH_MCP_CONFIG=~/.config/ssh-mcp/servers.json ssh-mcp list-servers配置服务器
默认读取当前工作目录的 servers.json,也可以用 SSH_MCP_CONFIG 指定路径。配置每次调用都会重新读取,修改后不需要重启进程。
{
"security": {
"blocked_patterns": ["shutdown\\s+-h", "reboot"]
},
"servers": [
{
"name": "prod-web",
"description": "生产 Web",
"host": "192.168.1.10",
"port": 22,
"username": "deploy",
"privateKeyPath": "~/.ssh/id_ed25519"
},
{
"name": "staging",
"host": "staging.example.com",
"username": "deploy",
"password": "仅供本地测试使用"
}
]
}复制示例配置:
cp servers.example.json servers.json
export SSH_MCP_CONFIG="$PWD/servers.json"认证优先级为:私钥 → 密码 → SSH_AUTH_SOCK 中的 ssh-agent。不要把真实密码或私钥提交到 Git;servers.json 默认已被 .gitignore 排除。
CLI 快速开始
ssh-mcp list-servers
ssh-mcp run-command -s prod-web -c "hostname && uptime"
ssh-mcp batch --servers prod-web,staging -c "df -h /"
ssh-mcp health -s prod-web每个命令都有独立帮助:
ssh-mcp <命令> --help命令总览
命令 | 用途 |
| 列出配置的服务器 |
| 执行远程 shell 命令 |
| 并发执行批量命令 |
| 管理可复用 SSH 长连接 |
| SFTP 后台传输与断点续传 |
| 查看或取消传输任务 |
| 本地或远程 SSH 端口转发 |
| SFTP 浏览和文件操作 |
| OS、磁盘、内存、负载和 CPU 检查 |
| 检查远程 SSL/TLS 证书 |
| 两台远程服务器之间直传 |
| 对比两台服务器的同一路径 |
| 上传、执行并清理脚本 |
| 将远程目录打包下载为 tar.gz |
| 轮询追踪远程文件 |
| 定时执行命令并显示变化 |
| 从远程网络环境发起 HTTP 请求 |
| 收集远程环境信息 |
常用操作
长连接会话
长连接只复用 TCP 和认证;每条命令仍在独立 channel 中执行,不会保留 cd 或环境变量。
ssh-mcp open-session -s prod-web
# 从输出中取得 s1
ssh-mcp run-command -s prod-web --session s1 -c "hostname"
ssh-mcp close-session -i s1文件传输与续传
目标文件已有部分内容时,默认从目标大小处继续;使用 --overwrite 从头开始。
ssh-mcp upload -s prod-web -l ./release.tar.gz -r /tmp/
ssh-mcp transfer-status
ssh-mcp download -s prod-web -r /var/log/app.log -l ./logs/ --overwrite
ssh-mcp cancel-transfer -i t1端口转发
# 本机 8080 → SSH 服务器 → 内网 192.168.1.5:80
ssh-mcp forward -s prod-web -L 8080:192.168.1.5:80
# SSH 服务器 9000 → 本机 localhost:3000
ssh-mcp forward -s prod-web -R 9000:127.0.0.1:3000
ssh-mcp list-forwards
ssh-mcp close-forward -i f1服务器间直传和配置对比
ssh-mcp copy-between --src web1 --dst web2 \
--src-path /opt/app/config.yml --dst-path /opt/app/config.yml
ssh-mcp diff-servers --server-a web1 --server-b web2 \
--path /etc/nginx/nginx.conf安全策略
run-command 默认拦截以下高危模式:
rm -rf /、rm -rf /*等根目录递归删除dd覆盖块设备mkfs.*在块设备上创建文件系统重定向覆盖块设备
fork bomb
可以在 security.blocked_patterns 中追加正则。--force 会跳过内置和自定义检查,只应在确认目标和命令后使用。安全策略是最后一道保护,仍应使用最小权限账号、SSH key 和服务器侧审计。
MCP 模式
以 stdio MCP 服务启动:
npx -y @bingzi-233/ssh-mcp --mcpClaude Code:
claude mcp add ssh -- npx -y @bingzi-233/ssh-mcp --mcp本仓库也包含 Claude/Codex 插件清单:
/plugin marketplace add BingZi-233/ssh-mcp
/plugin install ssh-mcp@bingzi-plugins
codex plugin marketplace add BingZi-233/ssh-mcp
codex plugin add ssh-mcp@bingzi-pluginsCodex 插件目录位于 plugins/ssh-mcp,其中的 .codex-plugin/plugin.json、.mcp.json 和 skills/ 与 Claude 插件配置共用同一套 npm MCP 服务。
MCP 客户端启动前,请确保工作目录中存在 servers.json,或在客户端配置中设置 SSH_MCP_CONFIG。可用工具会从配置文件动态读取服务器列表。
开发与验证
npm ci
npm run build
npm audit --omit=dev
npm run dev发布流程:推送 v* 标签后,GitHub Actions 会构建并发布 npm 包。发布前请确认版本号、CHANGELOG、npm run build 和安全审计均通过。
排障
找不到服务器配置
确认当前目录有 servers.json,或检查:
echo "$SSH_MCP_CONFIG"
ssh-mcp --help认证失败
确认 username、私钥路径和私钥口令;私钥支持 ~ 展开。也可以先运行 ssh -v 验证系统 SSH 凭据。
传输没有结束
传输是后台任务,使用 transfer-status 查看状态。若目标文件大小超过源文件,使用 --overwrite 重新开始。
MCP 客户端看不到工具
确认启动参数包含 --mcp,配置文件路径可读,并从客户端日志检查 stdio 进程是否正常启动。
许可证
MIT © BingZi-233
社区
本项目由 LINUX DO 社区孵化并认可。
This server cannot be deployed
Maintenance
Related MCP Connectors
Termalin's hosted MCP server. Claude, ChatGPT or any MCP client runs commands, moves files over SFTP, queries databases and reads server metrics and monitoring alerts on your servers, keylessly through Termalin Connectors: no SSH key is handed over and no inbound port is opened. Per-host command policy and an audit log. Needs a termal.in Pro or Team account (new accounts start with a 14-day Pro trial).
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
MCP server for Grok Imagine AI video generation
Cloud-hosted MCP server for durable AI memory
Related MCP Servers
- AlicenseAqualityCmaintenanceAn SSH MCP server that enables users to connect to and manage remote servers directly from Claude Code. It provides tools to execute commands, monitor connection status, and dynamically manage server configurations through natural language.10121 npm6MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for managing VPS servers via SSH, enabling command execution, file transfer, Docker management, and server documentation from within Claude.13 npmISC
- FlicenseNot gradedqualityDmaintenanceMCP server for Claude Code to execute commands on any remote server over SSH. Provides tools for remote execution, file operations, and connection info.1-
- AlicenseNot gradedqualityDmaintenanceA Python-based MCP server that enables Claude to connect to and manage multiple SSH servers through a unified interface.6MIT