欢迎您光临本站,如有问题请及时联系我们。

Github 2450星的开源跳板机Jumpserver新版发布!

前言

Jumpserver (https://github.com/jumpserver/jumpserver)是一款开源的跳板机系统,主要使用 Python 和 Django 开发,国内已有千余家公司使用,也有不少互联网知名公司二次开发后上线使用,作为作者非常高兴。

现在 Github 已有 2450颗星,非常感谢朋友们认可,也证明 Jumpserver 在生产中可靠的,如果正在阅读文章的你,也觉得 Jumpserver,代码优美、结构清晰、界面漂亮,也给颗星星,感谢你的慷慨。

下面讨论一下新版本变化,先来张图感受一下把:

Jumpserver

一、代码重构

1. 分拆组件

这个版本是上个版本的完全重构,分拆了各个组件,组件间依赖很低。我们从开始对这个版本代码质量,代码风格严格要求。

  • 用户 users  负责用户管理
  • 资产 assets 负责资产管理
  • 授权 perms  负责权限管理
  • 审计 audits  负责审计
  • 自动化 ops  负责自动化推送用户
  • 应用程序 application 支持其他程序来注册,调用 api

2. 最新版 Python 和 Django

使用最新版 Python 3.6.1 和 Django 1.11开发,使用了 Django 里面非常高级的 Class Base View,代码简洁优雅。非常 Pythonic 和符合 Django 标准的代码,适合作为项目参考和 Python 初中级童鞋学习。

Github

3. 国际化

同时支持英文和中文,根据浏览器请求来判断返回不同的版本,也是希望我们国内的项目被国外朋友喜欢。

4. Restful API

这也是上个版本呼声最高的需求,这次实现了常用的 API,支持多种方式认证,非常适合对接公司的其他系统,方便二次开发

5. 支持 Docker 部署

Docker 这两年成为流行,上个版本由于依赖 Linux 的 PAM 认证不方便 Docker 部署,本次重构代码,首次实现了 SSH Server,统一了认证,极为方便了 Docker 化,我们推荐用户使用 docker compose 一键部署测试

6. 分拆项目

为了支持分布式登录,分拆成了3个项目

  • Jumpserver管理、认证、授权、审计
  • CocoSSH Server 用于SSH登录
  • LunaWeb Terminal 非常漂亮友好

Coco 和 Luna 是无状态的,可以部署多份,来支持 HA 和 LB。

7. 界面更加精致

界面漂亮友好,一直是我们非常关心的事情,我们要的是从里到外的优雅,使用着之前版本的朋友,你们对比一下,可能更有体会。

二、功能部分

1.  各组件功能都有加强细化

我们对每个组件都进行了优化和加强,尽可能做到易用、好用 如:添加、详情、导入导出等。

2.  统一登录

Jumpserver,Coco,Luna 登录都使用同一个接口,方便二次认证、统一认证开发 如:支持 LDAP,Google Auth。

3.  命令详细解析

将用户输入输出精确记录到存储上,存储设计支持插件,可能很容易的存到ES等专业日志系统上。

4. 自动用户推送

上个版本饱受诟病的是用户的手动推送,这个版本实现了自动推送,用户不需要干预系统用户的推送,查看推送历史确认一下即可。

5.  Coco

Coco 是我们用 Paramiko 实现的一个 SSH Server,相比 connect 更容易控制和定制。Paramiko 真的是 Python上最优秀的 SSH 库,没有之一,功能强大,维护者十分负责。

Coco

6.  Luna

上个版本的 Web Terminal 虽然让大家眼前一亮,然而并没有达到我们的要求,于是我们这次使用 Flask、Angular 实现了她,她就是月亮之女-露娜。
Luna的实现 离不开 /<刘正>  /<周小侠> 的帮助,非常感谢。

Luna

最后:感谢高效运维,感谢萧老师 为 Jumpserver 推广,感谢支持 Jumpserver 的朋友们。开源的动力或许不单单因为情怀,也有促人奋发向上的力量,当我们这代运维人老去,或许能听到未来的他们提起,或许这就是我们这群人想要的荣耀。

文章来自微信公众号:高效运维

来源:本文由E8运维原创撰写,欢迎分享本文,转载请保留出处和链接!