Skip to content

SeekRise/SSHTools

Repository files navigation

SSH批量管理工具(简化版)

基于Flask的SSH批量登录执行命令工具,支持并发执行和结果统计展示。 image image image image

功能特性

  • SSH批量连接:支持同时连接多台主机执行命令
  • 并发执行:多线程并发执行,提高效率
  • 实时统计:执行过程中实时显示成功/失败统计
  • 结果展示:详细的结果展示,包括标准输出和错误输出
  • Su Root功能:支持使用su命令切换到root用户执行命令
  • 统一配置:可统一设置登录信息,也可单独配置每台主机
  • Web界面:基于Flask的Web界面,操作简便

项目结构

SSH管理工具/
├── app.py              # Flask主程序
├── config.py           # 配置文件
├── accounts.json       # 主机账户信息
├── build.py            # 打包配置生成脚本
├── requirements.txt    # 依赖包列表
├── static/             # 静态文件目录
│   ├── css/
│   └── js/
├── templates/          # 模板文件目录
│   └── index.html
├── utils/              # 工具模块目录
│   ├── __init__.py
│   ├── ssh_manager.py  # SSH连接管理模块
│   ├── task_manager.py # 任务管理模块
│   └── helpers.py      # 辅助函数模块
└── build/              # 打包配置文件目录
    ├── SSH管理工具-控制台版.spec
    └── SSH管理工具-后台版.spec

环境要求

  • Python 3.7+
  • Windows/Linux/macOS

安装依赖

pip install -r requirements.txt

快速开始

1. 配置主机信息

编辑 accounts.json 文件,添加主机信息:

[
  {
    "host": "192.168.1.100",
    "port": 22,
    "username": "root",
    "password": "password"
  },
  {
    "host": "192.168.1.101",
    "port": 22,
    "username": "user",
    "password": "password"
  }
]

2. 运行Web服务

python app.py

访问 http://localhost:5000 使用Web界面。

3. 打包为可执行文件

自动生成打包配置

python build.py

打包

# Windows
build.bat

# 手动打包
pyinstaller build.spec

使用说明

主机管理(简化模式)

  1. 在主页面配置统一的登录信息:
    • 统一用户名(默认root)
    • 统一密码
    • 统一端口(默认22)
    • Root密码(用于su root切换)
  2. Su Root功能
    • 勾选"使用Su Root切换"
    • 填写root密码
    • 系统会自动使用su root切换到root用户执行命令
  3. 输入主机列表(每行一个IP地址)
  4. 点击"批量添加主机"按钮

主机列表格式

# 支持注释(井号开头)
192.168.1.100
192.168.1.101
192.168.1.102
10.0.0.100
10.0.0.101

# 空行会被忽略

命令执行

  1. 设置并发数量(默认10)
  2. 输入要执行的命令
  3. 选择执行范围(所有主机或已选择主机)
  4. 点击执行按钮开始批量执行
  5. 查看实时统计和详细结果

Su Root功能说明

Su Root方式

  • 适用于用户没有sudo权限但知道root密码的场景
  • 系统会先用普通用户登录,然后使用su root命令切换到root用户
  • 执行命令时在root环境下运行,拥有完整的管理员权限
  • 自动处理su密码输入和输出过滤
  • 支持复杂命令和管道操作

使用场景

  • 企业环境中禁止root直接SSH登录
  • 普通用户没有sudo权限但可以su到root
  • 需要执行系统级管理命令的场景

SSHTools

SSH批量命令执行工具

About

SSH批量命令执行工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors