# Linux服务器管理和脚本批量执行平台 **Repository Path**: 1091198228/linux-script-manager ## Basic Information - **Project Name**: Linux服务器管理和脚本批量执行平台 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-01 - **Last Updated**: 2026-05-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Linux脚本管理执行平台 一个基于 Go 语言开发的 Linux 服务器管理和脚本批量执行平台,支持 Web 界面管理、多服务器批量操作、实时日志输出。 ## 功能特性 ### 1. 服务器管理 - 添加、编辑、删除服务器 - 支持密码和 SSH 密钥认证 - 批量选择服务器执行操作 - 一键测试服务器连接 ### 2. 脚本管理 - 脚本分组管理 - 创建、编辑、删除脚本 - 支持环境变量配置 - 脚本导入导出功能 ### 3. 批量执行 - 支持单脚本在多台服务器上同时执行 - 实时日志输出 - 支持停止执行操作 ### 4. 命令执行 - 在单台或多台服务器上执行临时命令 - 实时输出命令结果 ### 5. 用户管理 - 用户注册和登录 - 会话认证 - 默认管理员账户 ## 项目结构 ``` linux-script-manager/ ├── main.go # 程序入口 ├── handlers/ # HTTP 处理器 │ ├── script_handler.go # 脚本管理 │ ├── script_group_handler.go # 脚本分组 │ ├── server_handler.go # 服务器管理 │ └── user_handler.go # 用户管理 ├── models/ │ └── models.go # 数据库模型 ├── routes/ │ └── routes.go # 路由配置 ├── ssh/ │ └── client.go # SSH 客户端 ├── templates/ │ ├── index.html # 主页面 │ └── login.html # 登录页面 ├── ws/ │ └── server.go # WebSocket 服务器 ├── instance/ │ └── scripts.db # SQLite 数据库 ├── go.mod # Go 模块配置 └── linux-script-manager.exe # Windows 可执行文件 ``` ## 快速开始 ### 环境要求 - Go 1.16+ - SQLite ### 构建项目 ```bash # Windows go build -o linux-script-manager.exe main.go # Linux go build -o linux-script-manager main.go ``` ### 运行项目 ```bash # Windows .\linux-script-manager.exe # Linux ./linux-script-manager ``` ### 访问平台 打开浏览器访问:`http://localhost:5000` 默认管理员账户: - 用户名:`admin` - 密码:`admin` ## API 接口 ### 认证接口 - `POST /login` - 用户登录 - `POST /logout` - 用户登出 - `GET /api/auth/check` - 检查登录状态 ### 服务器管理 - `GET /api/servers` - 获取服务器列表 - `POST /api/servers` - 添加服务器 - `PUT /api/servers/:id` - 更新服务器 - `DELETE /api/servers/:id` - 删除服务器 - `POST /api/servers/:id/test` - 测试连接 - `POST /api/exec_command` - 执行命令 ### 脚本管理 - `GET /api/scripts` - 获取脚本列表 - `POST /api/scripts` - 创建脚本 - `PUT /api/scripts/:id` - 更新脚本 - `DELETE /api/scripts/:id` - 删除脚本 - `GET /api/scripts/:id` - 获取脚本详情 ### 脚本分组 - `GET /api/script_groups` - 获取分组列表 - `POST /api/script_groups` - 创建分组 - `PUT /api/script_groups/:id` - 更新分组 - `DELETE /api/script_groups/:id` - 删除分组 ### 脚本执行 - `POST /api/execute` - 执行脚本 ### 服务器自动注册 - `GET /api/register_server` - 获取自动注册命令 ### WebSocket - `WS /ws` - WebSocket 连接(用于实时日志输出) ## 自动添加服务器 平台支持通过命令自动注册 Linux 服务器。在目标服务器上执行以下命令: ```bash curl -s http://<平台地址>:5000/api/register_server | bash ``` 该命令会自动收集服务器的主机名、IP 地址、SSH 端口等信息,并注册到平台中。 ## 技术栈 - **后端**:Go语言 - **数据库**:SQLite (modernc.org/sqlite) - **SSH**:golang.org/x/crypto/ssh - **WebSocket**:gorilla/websocket - **前端**:原生 HTML/CSS/JavaScript ## 安全说明 - 用户密码使用 bcrypt 加密存储 - 认证使用 HTTP Cookie + Token 机制 - SSH 认证支持密码和私钥两种方式