SSH MCP服务器
](https://www.npmjs.com/package/ssh-mcp) ](https://www.npmjs.com/package/ssh-mcp) ](https://nodejs.org/)  ](https://github.com/tufantunc/ssh-mcp/stargazers) ](https://github.com/tufantunc/ssh-mcp/forks)  ](https://github.com/tufantunc/ssh-mcp/issues)

SSH MCP服务器 是一个本地模型上下文协议(MCP)服务器,它为Linux和Windows系统公开SSH控制,使LLM和其他MCP客户端能够通过SSH安全地执行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)
安装
- 克隆存储库:
git clone https://github.com/tufantunc/ssh-mcp.git
cd ssh-mcp- 安装依赖项:
npm 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访问时很有用。
{
"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的推荐方法。
基本安装:
claude mcp add --transport stdio ssh-mcp -- npx -y ssh-mcp -- --host=YOUR_HOST --user=YOUR_USER --password=YOUR_PASSWORD安装示例:
使用密码验证:
claude mcp add --transport stdio ssh-mcp -- npx -y ssh-mcp -- --host=192.168.1.100 --port=22 --user=admin --password=your_password使用SSH密钥身份验证:
claude mcp add --transport stdio ssh-mcp -- npx -y ssh-mcp -- --host=example.com --user=root --key=/path/to/private/key具有自定义超时和无字符限制:
claude 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的支持下:
claude 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安装范围:
您可以在添加服务器时指定范围:
- 局部作用域 (默认):供当前项目中的个人使用
claude mcp add --transport stdio ssh-mcp --scope local -- npx -y ssh-mcp -- --host=YOUR_HOST --user=YOUR_USER --password=YOUR_PASSWORD- 项目范围:通过以下方式与您的团队分享
.mcp.json文件
claude mcp add --transport stdio ssh-mcp --scope project -- npx -y ssh-mcp -- --host=YOUR_HOST --user=YOUR_USER --password=YOUR_PASSWORD- 用户范围:适用于您的所有项目
claude mcp add --transport stdio ssh-mcp --scope user -- npx -y ssh-mcp -- --host=YOUR_HOST --user=YOUR_USER --password=YOUR_PASSWORD验证安装:
添加服务器后,重新启动Claude Code并要求Cascade执行以下命令:
"Can you run 'ls -la' on the remote server?"有关Claude Code中MCP的更多信息,请参阅 官方文档.
测试
您可以使用 MCP检查员 用于此MCP服务器的可视化调试。
npm run inspect免责声明
SSH MCP服务器根据 MIT许可证.使用风险自负。该项目不隶属于任何SSH或MCP提供商,也不受其认可。
贡献
我们欢迎捐款!请查看我们的 贡献指南 了解更多信息。
行为准则
该项目遵循 行为准则 确保为每个人提供一个温馨的环境。
支持
如果你觉得SSH MCP Server很有帮助,可以考虑在存储库中担任主角或做出贡献!欢迎拉取请求和反馈。

