ssh集线器
MCP服务器,允许AI编码代理通过SSH完全访问远程机器。同时连接到多个服务器,并使用远程文件操作、shell命令和目录同步——所有这些都是通过MCP工具界面完成的。
先决条件
- 防锈工具链 (1.70+)
- SSH代理 装有钥匙(
ssh-add)或SSH密钥文件(~/.ssh/id_ed25519等等) - 在远程服务器上授权的SSH密钥 --看 docs/server-setup.md
安装
cargo install --git https://github.com/Perceptron-Studios/ssh-hub.git升级
ssh-hub upgrade快速开始
# 1. Add a remote server
ssh-hub add user@host
# 2. Register as MCP in your project
ssh-hub mcp-install /path/to/project连接字符串格式
user@host # defaults to port 22, path ~
user@host:/path # explicit path
user@host:2222 # custom port, path ~
user@host:2222:/path # custom port and path身份文件
对于受密码保护的密钥,请通过 -i 在...期间 add --ssh-hub会将密钥加载到您的ssh代理中:
注意:如果访问私钥需要短语,此命令将通过ssh add请求密码并安全存储。
ssh-hub add user@host -i ~/.ssh/my_keyCLI命令
| 命令 | 描述 |
|---|---|
ssh-hub | 在stdio上启动MCP服务器(由MCP客户端使用) |
ssh-hub list | 列出已配置的服务器 |
ssh-hub add | 添加服务器(测试连接,然后保存) |
ssh-hub remove | 从配置中删除服务器 |
ssh-hub update | 更新服务器元数据和连接设置 |
ssh-hub mcp-install [directory] | 在项目中将ssh-hub注册为MCP服务器 |
ssh-hub upgrade | 升级至最新版本 |
选项: -v 详细日志记录, -i 身份文件, -p 端口覆盖。
mcp-install 旗帜: --claude (.mcp.json 仅), --codex (.codex/config.toml 仅)。默认为两者。
认证
所有身份验证都是基于SSH密钥的。不存储或传输密码。按键按以下顺序尝试:
- 身份文件 --指定密钥
-i在...期间add(最高信号) - SSH代理 --通过加载密钥
ssh-add,签名委托给ssh-agent(最多10个键) - 默认密钥 —
~/.ssh/id_ed25519,id_rsa,id_ecdsa
RSA密钥会自动与SHA-256/SHA-512签名协商(现代服务器拒绝传统的SHA-1)。
MCP工具
所有工具在首次使用时都会自动连接到配置的服务器,不需要手动连接步骤。每个工具都需要一个 server 引用已配置服务器名称的参数。
发现
list_servers--显示具有实时可达性探测的已配置服务器(具有延迟的TCP ping)
远程操作
remote_bash--执行shell命令(可选超时和后台模式)remote_read--读取文件内容(大文件有偏移/限制)remote_write--将内容写入文件remote_edit--使用字符串替换编辑文件remote_glob--查找与glob模式匹配的文件
同步
sync_push--将本地文件或目录推送到远程(目录的tar流)sync_pull--将远程文件或目录拉到本地(目录的tar流)
配置
服务器配置存储在 ~/.config/ssh-hub/servers.toml (macOS: ~/Library/Application Support/ssh-hub/servers.toml):
[servers.staging]
host = "staging.example.com"
user = "deploy"
port = 2222
remote_path = "/var/www/app"
identity = "~/.ssh/id_staging"
[servers.prod]
host = "prod.example.com"
user = "deploy"
remote_path = "~"许可证
麻省理工学院
