What’s New in Jumpserver? A Deep Dive into the Latest Open‑Source Bastion Host
This article introduces Jumpserver, an open‑source bastion host built with Python and Django, and details its major new version updates—including a full code refactor, component separation, Docker support, internationalization, RESTful APIs, and enhanced UI—highlighting how these changes improve security, extensibility, and deployment flexibility for enterprises.
Introduction
Jumpserver ( https://github.com/jumpserver/jumpserver ) is an open‑source bastion host system primarily developed with Python and Django. It has gained thousands of users in China and many well‑known internet companies have adopted or customized it.
With over 2,450 GitHub stars, Jumpserver is recognized for its reliable production use, clean code structure, and attractive interface.
1. Code Refactoring
1. Component Separation
The new version is a complete rewrite that splits the system into low‑dependency components, each with strict code quality and style standards.
users – user management
assets – asset management
perms – permission management
audits – audit logging
ops – automated user provisioning
application – API registration for external programs
2. Latest Python and Django
Developed with Python 3.6.1 and Django 1.11, it leverages Django’s advanced Class‑Based Views for concise, Pythonic code, making it a good reference for intermediate Python developers.
3. Internationalization
The UI now supports both English and Chinese, automatically selecting the language based on the browser request.
4. RESTful API
Implemented commonly requested APIs with multiple authentication methods, facilitating integration with other corporate systems and simplifying secondary development.
5. Docker Deployment
The new architecture removes the Linux PAM dependency, introduces an SSH server, and unifies authentication, making Docker Compose one‑click deployment straightforward.
6. Project Splitting for Distributed Login
Jumpserver : management, authentication, authorization, auditing
Coco : SSH server for SSH login
Luna : web terminal with a polished UI
Coco and Luna are stateless and can be deployed multiple times to support high availability and load balancing.
7. Refined UI
The interface has been redesigned for a more elegant and user‑friendly experience.
2. Functional Enhancements
1. Component Feature Improvements
Each component now offers refined functionalities such as add, detail view, import/export, and more.
2. Unified Login
Jumpserver, Coco, and Luna share a single login interface, simplifying single sign‑on and supporting LDAP, Google Auth, etc.
3. Detailed Command Parsing
User command input and output are precisely recorded; the storage design supports plugins, enabling easy export to Elasticsearch or other log systems.
4. Automatic User Provisioning
Unlike the previous version that required manual user pushes, the new version automatically synchronizes users, with a history view for verification.
5. Coco – SSH Server
Coco is built with Paramiko, providing a highly controllable and customizable SSH server; Paramiko is regarded as the most robust SSH library in Python.
6. Luna – Web Terminal
Luna replaces the previous web terminal with a new implementation using Flask and Angular, delivering a more polished experience.
In summary, the latest Jumpserver release brings a comprehensive code overhaul, modular architecture, modern development stack, Docker readiness, internationalization, robust APIs, and a refined UI, making it a solid open‑source solution for secure remote access and management.
Efficient Ops
This public account is maintained by Xiaotianguo and friends, regularly publishing widely-read original technical articles. We focus on operations transformation and accompany you throughout your operations career, growing together happily.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.