廣宏偉 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、感謝
感謝 廣宏偉,王墉,陳尚委,喻茂峻,劉正,柯連春 對項目的付出!感謝 馬哥教育 對項目指點!感謝 高效運維羣 對 項目的支持!感謝 小夥伴們 對項目的承認!