JumpServer 安裝部署指南
本文檔詳細記錄了 JumpServer 安裝部署的過程、核心腳本功能說明以及后續管理使用提示,方便運維人員快速查閱和二次安裝。
1. 前提條件
-
操作系統要求:
僅支持 Linux 系統,不支持 Darwin(macOS)。腳本內對 OS 類型進行了判斷,若檢測為 Darwin,則會中止執行。 -
必備工具:
腳本會自動檢測并安裝以下工具:curl
wget
tar
iptables
若系統中未安裝上述命令,會嘗試根據所使用的包管理器(dnf、yum、apt、zypper、apk)自動安裝,不存在則報錯退出。
-
網絡要求:
確保服務器能夠訪問外部網絡,以便下載腳本和安裝包。
2. 腳本說明與準備工作
2.1 下載官方安裝腳本
在 JumpServer 服務器上執行以下命令,下載官方安裝腳本并保存為 install.sh
:
# 下載官方腳本文件
curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh >> ./install.sh
ls
cat install.sh
2.2 腳本結構解析
定義變量
-
VERSION
當前版本號(例如v4.8.1
)。 -
DOWNLOAD_URL
下載安裝包的基礎 URL。
安裝依賴函數:install_soft
根據系統內置的包管理器(dnf、yum、apt、zypper、apk),檢測并安裝缺失的軟件包;同時針對 apk 的情況,額外安裝 gettext-dev
和 python3
,確保依賴完整。
依賴檢查函數:prepare_install
遍歷檢查所需的工具(curl、wget、tar、iptables),若不存在則調用 install_soft
自動安裝。
獲取安裝器函數:get_installer
- 進入
/opt
目錄,在該目錄下創建或使用jumpserver-installer-${VERSION}
文件夾。 - 使用
wget
下載相應版本的安裝包(tar.gz 格式),并在 60 秒內限時下載。 - 下載成功后解壓安裝包至
/opt
目錄,解壓失敗則清理并退出提示錯誤。
配置與啟動函數:config_installer
- 進入安裝包所在目錄
/opt/jumpserver-installer-${VERSION}
。 - 修改配置示例文件,將
# DOCKER_IMAGE_MIRROR=1
替換為DOCKER_IMAGE_MIRROR=1
,啟用 Docker 鏡像加速。 - 依次調用
./jmsctl.sh install
進行安裝配置,再調用./jmsctl.sh start
啟動服務。
主程序 main
- 判斷是否在 Darwin 系統下運行(若是則退出)。
- 執行依賴檢查、下載安裝包及配置安裝步驟。
腳本結構如下:
#!/usr/bin/env bashVERSION=v4.8.1
DOWNLOAD_URL=https://resource.fit2cloud.comfunction install_soft() {if command -v dnf &>/dev/null; thendnf -q -y install "$1"elif command -v yum &>/dev/null; thenyum -q -y install "$1"elif command -v apt &>/dev/null; thenapt-get -qqy install "$1"elif command -v zypper &>/dev/null; thenzypper -q -n install "$1"elif command -v apk &>/dev/null; thenapk add -q "$1"command -v gettext &>/dev/null || {apk add -q gettext-dev python3}elseecho -e "[\033[31m ERROR \033[0m] $1 command not found, Please install it first"exit 1fi
}function prepare_install() {for i in curl wget tar iptables; docommand -v $i &>/dev/null || install_soft $idone
}function get_installer() {echo "download install script to /opt/jumpserver-installer-${VERSION}"cd /opt || exit 1if [ ! -d "/opt/jumpserver-installer-${VERSION}" ]; thentimeout 60 wget -qO jumpserver-installer-${VERSION}.tar.gz ${DOWNLOAD_URL}/jumpserver/installer/releases/download/${VERSION}/jumpserver-installer-${VERSION}.tar.gz || {rm -f /opt/jumpserver-installer-${VERSION}.tar.gzecho -e "[\033[31m ERROR \033[0m] Failed to download jumpserver-installer-${VERSION}"exit 1}tar -xf /opt/jumpserver-installer-${VERSION}.tar.gz -C /opt || {rm -rf /opt/jumpserver-installer-${VERSION}echo -e "[\033[31m ERROR \033[0m] Failed to unzip jumpserver-installer-${VERSION}"exit 1}rm -f /opt/jumpserver-installer-${VERSION}.tar.gzfi
}function config_installer() {cd /opt/jumpserver-installer-${VERSION} || exit 1sed -i "s/# DOCKER_IMAGE_MIRROR=1/DOCKER_IMAGE_MIRROR=1/g" /opt/jumpserver-installer-${VERSION}/config-example.txt./jmsctl.sh install./jmsctl.sh start
}function main(){if [[ "${OS}" == 'Darwin' ]]; thenechoecho "Unsupported Operating System Error"exit 1fiprepare_installget_installerconfig_installer
}main
3. 安裝執行過程
3.1 執行安裝腳本
運行以下命令啟動安裝流程:
bash install.sh
安裝過程會輸出相關信息,例如:
#執行安裝腳本
root@jumpserver:~> bash install.sh
download install script to /opt/jumpserver-installer-v4.8.1██╗██╗ ██╗███╗ ███╗██████╗ ███████╗███████╗██████╗ ██╗ ██╗███████╗██████╗██║██║ ██║████╗ ████║██╔══██╗██╔════╝██╔════╝██╔══██╗██║ ██║██╔════╝██╔══██╗██║██║ ██║██╔████╔██║██████╔╝███████╗█████╗ ██████╔╝██║ ██║█████╗ ██████╔╝██ ██║██║ ██║██║╚██╔╝██║██╔═══╝ ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██╔══╝ ██╔══██╗╚█████╔╝╚██████╔╝██║ ╚═╝ ██║██║ ███████║███████╗██║ ██║ ╚████╔╝ ███████╗██║ ██║╚════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝Version: v4.8.1-ce1. Check Configuration File
Path to Configuration file: /opt/jumpserver/config
/opt/jumpserver/config/config.txt [ √ ]
/opt/jumpserver/config/loki/promtail.yml [ √ ]
/opt/jumpserver/config/nginx/cert/server.crt [ √ ]
/opt/jumpserver/config/nginx/cert/server.key [ √ ]
安裝腳本會引導完成多個配置步驟:
-
配置私鑰(SECRETE_KEY 與 BOOTSTRAP_TOKEN)
會自動生成后顯示在提示中,直接按回車確認(如果不需要自定義修改)。 -
配置持久化目錄
- 默認目錄為
/data/jumpserver
- 如需自定義,建議選擇磁盤空間充足的盤符,但注意:安裝后不可更改!
- 默認目錄為
-
數據庫配置
- 是否使用外部 PostgreSQL(默認內置)
-
Redis 配置
- 配置 Redis 引擎模式(redis/sentinel)
- 是否使用外部 Redis:若選擇外部,則需提供服務器 IP、端口和密碼
-
外部訪問配置
- 是否修改默認的外部訪問端口(默認端口 80)
-
初始化數據庫
安裝過程中會啟動容器并完成數據庫初始化、靜態文件收集和數據遷移。
>>> Install and Configure JumpServer
1. Configure Private Key
SECRETE_KEY: 3e1e8dea32665fe01eed82a44b52a90556c0a7f61cf91a79
BOOTSTRAP_TOKEN: zZEHIGACppkAaC123RED0ywp
complete2. Configure Persistent Directory
Do you need custom persistent store, will use the default directory /data/jumpserver? (y/n) (default n): yTo modify the persistent directory such as logs video, you can select your largest disk and create a directory in it, such as /data/jumpserver
Note: you can not change it after installation, otherwise the database may be lostFilesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv 96G 11G 81G 12% /Persistent storage directory (default /data/jumpserver):
complete3. Configure DB
Do you want to use external PostgreSQL? (y/n) (default n):
complete4. Configure Redis
Please enter Redis Engine? (redis/sentinel) (default redis):
Do you want to use external Redis? (y/n) (default n): y
Please enter Redis server IP (default redis):
Please enter Redis server port (default 6379):
Please enter Redis password (no default):
complete5. Configure External Access
Do you need to customize the JumpServer external port? (y/n) (default n):
complete6. Init JumpServer Database
[+] Running 4/4? Network jms_net Created 0.1s? Container jms_redis Started 0.8s? Container jms_core Started 0.8s? Container jms_postgresql Started 0.8s
4. 部署完成后的使用
安裝流程結束后,會顯示最終的賬號信息和管理命令,示例如下:
4.1 默認賬號信息
-
Web 訪問地址:
http://192.168.200.200:80
-
默認賬號:
- 用戶名:
admin
- 密碼:
ChangeMe
- 用戶名:
登錄后如下
4.2 常用管理命令
所有容器和服務均由 /opt/jumpserver-installer-v4.8.1
下的 jmsctl.sh
腳本管理,常用命令包括:
# 啟動 JumpServer
cd /opt/jumpserver-installer-v4.8.1
./jmsctl.sh start# 停止 JumpServer
./jmsctl.sh stop# 重啟 JumpServer
./jmsctl.sh restart# 數據備份
./jmsctl.sh backup# 升級 JumpServer
./jmsctl.sh upgrade# 查看更多命令幫助
./jmsctl.sh --help
具體使用
可以參考我寫的一篇openstack+jumpserver的文章,里面有介紹jumpserver的簡單使用
【Project】基于OpenStack的公司云平臺建設與管理方案
4.3 更多信息
-
官方網站:
https://www.jumpserver.org/ -
文檔:
https://docs.jumpserver.org/