堡垒机,一款用python实现的简单的堡垒机系统
让用户不再直接登录linux系统, linux系统的密码只针对高管以及堡垒机
用户连接之后可以随心使用任何命令,且执行的命令会存储在数据库中
- 【机器管理】命令行新增用户,主机,主机用户组,主机用户
- 【指定机器登录】使用堡垒机登录指定机器,然后使用任何命令
- 【tab自动不全】在登录了指定机器后,支持tab自动不全
- 【日志记录】用户执行的命令,保存到数据库中
- 【日志查询】可以查看当前用户的所有日志记录
-
paramko 执行命令
-
sqlalchemy 操作数据库
-
利用relationship 来做连表操作
-
configparser 把连接数据库的信息写入配置文件,方便别人使用
[db] # 数据库主机IP, 注意要堡垒机又登录权限 configParser 处理的文件,注释信息可以单独启一行,不会影响结果 db_host = 192.168.126.250 # 数据库主机端口 db_port = 3306 # 数据库主机的用户 db_user = yangli # 数据库主机对应用户的密码 db_password = yanglipass # 数据库主机上工blockhouse系统使用的数据库名字,需要自己在服务mysql服务器上添加, # 由于是code first, 所以不用自己建表 db_name = blockhouse
- 【161002】增加控制台,支持交互式写入命令
- 【161002】删除打印的调试信息
- 【161002】优化写入日志数据库的逻辑,如果命令为空就不写入
- 【161002】修改数据库字段,让日志的日期字段存储的是timestamp
- 【161002】优化 日志显示格式, 用字符串形式代替timestamp
- 【161002】优化欢迎信息
- 【161002】优化程序的入口,为bin,
- 【161002】优化程序控制台,输入为空的时候直接跳下一次循环
- 【161002】优化控制台, 输入的命令不支持的时候,直接跳出帮助信息
- 【161002】优化,登录的时候,显示欢迎信息,以及帮助信息
- 【161002】修复: 当系统没有用户的时候,在/bin 下面有一个admin入口,可以添加一个完整的用户信息
- 计划把文件传输的功能也加上去,暂时没有需要,先暂停
- 如果用户输入删除键,显示的信息有点不正常,这个还需要优化
- python3
- paramiko
- pymysql
- sqlalchemy
author: Leo Yang 杨力
mail: yangliw3@foxmail.com
phone: (+86)185 658 66568