SSH MCP服务器
SSH MCP服务器 是一个本地模型上下文协议(MCP)服务器,它为Linux和Windows系统公开SSH控制,使LLM和其他MCP客户端能够通过SSH安全地执行shell命令。
目录
- 快速开始
- 特性
- 安装
- 客户端设置
- 测试
- 免责声明
- 支持
快速开始
- 安装 SSH MCP服务器
- 配置 SSH MCP服务器
- 设置 您的MCP客户端(例如克劳德桌面、光标等)
- 通过自然语言在Linux或Windows服务器上执行远程shell命令
特性
- 符合MCP标准的服务器暴露SSH功能
- 在远程Linux和Windows系统上执行shell命令
- 通过密码或SSH密钥进行安全身份验证
- 使用TypeScript和官方MCP SDK构建
- 可配置的超时保护 自动堕胎
- 优雅的超时处理 -试图在关闭连接之前终止挂起的进程
工具
-
exec:在远程服务器上执行shell命令 -
参数:
-
command(必需):在远程SSH服务器上执行的Shell命令 -
description(可选):此命令将执行的操作的可选描述(作为注释附加) -
超时配置:
-
sudo-exec:使用sudo权限执行shell命令 -
参数:
-
command(必需):使用sudo以root身份执行Shell命令 -
description(可选):此命令将执行的操作的可选描述(作为注释附加) -
笔记:
-
需要
--sudoPassword设置为密码保护的sudo -
通过以下方式可以禁用
--disableSudo如果不需要或无法使用sudo访问,则在启动时标记 -
对于持久根访问,请考虑使用
--suPassword相反,它建立了一个根shell -
如果服务器以启动,则工具将完全不可用
--disableSudo -
超时配置:
-
超时是通过命令行参数配置的
--timeout(以毫秒为单位) -
默认超时:60000ms(1分钟)
-
当命令超时时,服务器会在关闭连接之前自动尝试中止正在运行的进程
-
最大命令长度配置:
-
通过配置最大命令字符数
--maxChars -
违约:
1000 -
无限制模式:设置
--maxChars=none或任何<= 0价值(例如。--maxChars=0)
安装
- 克隆存储库:
BASH``` 1 2git clone https://github.com/tufantunc/ssh-mcp.git cd ssh-mcp
2. **安装依赖项:**
BASH```
1npm install
客户端设置
您可以配置您的IDE或LLM,如Cursor、Windsurf、Claude Desktop,以使用此MCP服务器。
所需参数:
host:Linux或Windows服务器的主机名或IPuser:SSH用户名
可选参数:
port:SSH端口(默认值:22)password:SSH密码(或使用key用于基于密钥的身份验证)key:私有SSH密钥的路径sudoPassword:sudo提升密码(使用sudo执行命令时)suPassword:su提升的密码(当您需要持久根shell时)timeout:命令执行超时(毫秒)(默认值:60000ms=1分钟)maxChars:允许的最大字符数command输入(默认值:1000)。使用none或0禁用限制。disableSudo:标记以禁用sudo-exec工具完全。当不需要或无法使用sudo访问时很有用。
COMMANDLINE``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19{ “mcpServers”: { “ssh-mcp”: { “command”: “npx”, “args”: [ “ssh-mcp”, “-y”, ”—”, “—host=1.2.3.4”, “—port=22”, “—user=root”, “—password=pass”, “—key=path/to/key”, “—timeout=30000”, “—maxChars=none” ] } } }
### 克劳德代码
您可以使用以下命令将此MCP服务器添加到Claude代码中 `claude mcp add` 命令。这是Claude Code的推荐方法。
**基本安装:**
BASH```
1claude mcp add --transport stdio ssh-mcp -- npx -y ssh-mcp -- --host=YOUR_HOST --user=YOUR_USER --password=YOUR_PASSWORD
安装示例:
使用密码验证:
BASH``` 1claude mcp add —transport stdio ssh-mcp — npx -y ssh-mcp — —host=192.168.1.100 —port=22 —user=admin —password=your_password
**使用SSH密钥身份验证:**
BASH```
1claude mcp add --transport stdio ssh-mcp -- npx -y ssh-mcp -- --host=example.com --user=root --key=/path/to/private/key
具有自定义超时和无字符限制:
BASH``` 1claude mcp add —transport stdio ssh-mcp — npx -y ssh-mcp — —host=192.168.1.100 —user=admin —password=your_password —timeout=120000 —maxChars=none
**在Sudo和Su的支持下:**
BASH```
1claude mcp add --transport stdio ssh-mcp -- npx -y ssh-mcp -- --host=192.168.1.100 --user=admin --password=your_password --sudoPassword=sudo_pass --suPassword=root_pass
安装范围:
您可以在添加服务器时指定范围:
- 局部作用域 (默认):供当前项目中的个人使用
BASH``` 1claude mcp add —transport stdio ssh-mcp —scope local — npx -y ssh-mcp — —host=YOUR_HOST —user=YOUR_USER —password=YOUR_PASSWORD
- **项目范围**:通过以下方式与您的团队分享 `.mcp.json` 文件
BASH```
1claude mcp add --transport stdio ssh-mcp --scope project -- npx -y ssh-mcp -- --host=YOUR_HOST --user=YOUR_USER --password=YOUR_PASSWORD
- 用户范围:适用于您的所有项目
BASH``` 1claude mcp add —transport stdio ssh-mcp —scope user — npx -y ssh-mcp — —host=YOUR_HOST —user=YOUR_USER —password=YOUR_PASSWORD
**验证安装:**
添加服务器后,重新启动Claude Code并要求Cascade执行以下命令:
1”Can you run ‘ls -la’ on the remote server?”
有关Claude Code中MCP的更多信息,请参阅 [官方文档](https://docs.claude.com/en/docs/claude-code/mcp).
## 测试
您可以使用 [MCP检查员](https://modelcontextprotocol.io/docs/tools/inspector) 用于此MCP服务器的可视化调试。
SH```
1npm run inspect
免责声明
SSH MCP服务器根据 MIT许可证.使用风险自负。该项目不隶属于任何SSH或MCP提供商,也不受其认可。
贡献
我们欢迎捐款!请查看我们的 贡献指南 了解更多信息。
行为准则
该项目遵循 行为准则 确保为每个人提供一个温馨的环境。
支持
如果你觉得SSH MCP Server很有帮助,可以考虑在存储库中担任主角或做出贡献!欢迎拉取请求和反馈。