广宏伟 Jumpserver项目发起者,资深运维工程师,毕业于著名的新东方烹饪学校,精通八大菜系.
1、为何开始git
犹记得当初刚到新的公司,公司里面没有批量管理工具,新来程序猿同事,须要手动为它们在服务器一个个添加帐号。github
过了一段时间,经理说服务器上的部署的应用没了,查了半天history没发现谁删的。痛定思痛后决定购买堡垒机产品,经理咨询报价后,说:老广,据说你在学习Python,要不你来写一个吧,后来就有了Jumpserver。web
至于为何叫 Jumpserver,个人英语水平告诉我“跳”是’jump’, “机”是’server’, 因而取名叫 Jumpserver。数据库
2、功能介绍服务器
Jumpserver 是一款由Python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能。基于ssh协议来管理,客户端无需安装agent。框架
支持常见系统:运维
Redhat CentOS Debian SUSE Ubuntu FreeBSD 其余ssh协议硬件设备
功能:ssh
精确记录操做命令 支持批量文件上传下载 支持主机搜索登陆 支持批量命令执行(Ansible完成) 支持Web Terminal链接主机 支持Web端批量命令执行 支持录像回放 支持硬件信息如cpu,内存等抓取 支持资产Excel导入导出 支持资产批量更改 支持系统用户的批量推送(Ansible实现) 支持用户,主机,用户组,主机组,系统用户混合细颗粒受权 支持sudo管理 支持命令统计和命令搜索 支持上传下载文件审计 支持终止用户链接 支持各类搜索 其余
3、设计思路:工具
设计一个跳转网关,全部登陆操做都从网关经过 网关具备模拟终端的功能,透明的中转ssh命令,以支持Tab,Ctrl+A,Ctrl-E等快捷键,网关既能够记录操做日志,又能够审计操做命令。 设计一个认证模块 为了实现认证功能,须要有个认证模块,认证信息存到数据库,用户使用跳板机首先须要认证。 设计一个受权框架 受权是跳板机不可缺乏的部分,受权就是用户和资产的关系,将关系保存的数据库,用户登陆主机须要先查受权。 设计审计模块 审计是为了追踪,咱们支持了在线监控,命令统计,录像回放功能,供管理员审查。 用户和主机模块 跳板机脱离不了用户和主机,因此这两个部分是基本的模块,另外咱们将主机模块扩展,实现基本CMDB功能。 Web Terminal 如今都流行Web操做一切,因而咱们又实现了Web Terminal,供用户直接在线连接服务器,这里实现是用了Tornado来完成的,Tornado实现WebSocket特别简单。 其它
4、功能截图学习
登录页面 首页 录像回放 批量命令 web terminal
5、愿景
咱们身为运维er中的一员,运维工做让咱们有了饭,有了衣,有了本身的家庭。咱们应当为此作些微不足道的贡献,哪怕就那么一点点。
咱们但愿各位在开发运维工做的朋友们也加入到开源的队列中,分享本身的代码。
咱们对项目的一直保持不变的热情,咱们将来会在稳定性、实用性、文艺性方面作出努力,咱们也很是欢迎志同道合的朋友加入。
6、其它
Git地址:
https://github.com/ibuler/jumpserver
快速开始:
https://github.com/ibuler/jumpserver/wiki/Quickinstall
Wiki:
https://github.com/ibuler/jumpserver/wiki
Demo:
http://demo.jumpserver.org
交流群:
399218702
7、感谢
感谢 广宏伟,王墉,陈尚委,喻茂峻,刘正,柯连春 对项目的付出!感谢 马哥教育 对项目指点!感谢 高效运维群 对 项目的支持!感谢 小伙伴们 对项目的承认!