JumpServer堡垒机安装

一、JumpServer简介

JumpServer是全球首款完全开源的堡垒机, 使用GNU GPL v2.0开源协议, 是符合4A的专业运维审计系统。

JumpServer使用Python/Django进行开发, 遵循Web 2.0规范, 配备了业界领先的Web Terminal解决方案, 交互界面美观、用户体验好。

JumpServer采纳分布式架构, 支持多机房跨区域部署, 中心节点提供API, 各机房部署登录节点, 可横向扩展、无并发访问限制。

JumpServer 现已支持管理 SSH、 Telnet、 RDP、 VNC 协议资产。

二、极速安装

说明

全新安装的 Centos7 (7.x)

需要连接 互联网

使用 root 用户执行

1JumpServer下载

[root@localhost ~]# cd /opt

[root@localhost ~]# yum -y install wget git

[root@localhost ~]# git clone –depth=1 https://github.com/jumpserver/setuptools.git

[root@localhost ~]# cd setuptools

[root@localhost ~]# cp config_example.conf config.conf

[root@localhost ~]# vi config.conf

# 以下设置默认情况下不需要修改

# 需要安装的版本
Version=1.5.9

# Jms 加密配置
SECRET_KEY=
BOOTSTRAP_TOKEN=

# 数据库 配置, 如果 数据库 安装在其他的服务器, 请修改下面设置
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USER=jumpserver
DB_PASSWORD=
DB_NAME=jumpserver

# Redis 配置, 如果 Redis 安装在其他的服务器, 请修改下面设置
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_PASSWORD=

# 服务端口设置, 如果云服务器未备案请修改 http_port 端口为其他端口
http_port=80
ssh_port=2222

# 服务安装目录
install_dir=/opt

Server_IP=`ip addr | grep 'state UP' -A2 | grep inet | egrep -v '(127.0.0.1|inet6|docker)' | awk '{print $2}' | tr -d "addr:" | head -n 1 | cut -d / -f1`
Docker_IP=`ip addr | grep docker.* | grep inet | awk '{print $2}' | head -n 1`
2JumpServer安装

[root@localhost ~]# ./jmsctl.sh install

3JumpServer升级

[root@localhost ~]# cd /opt/setuptools

[root@localhost ~]# git pull

[root@localhost ~]# ./jmsctl.sh upgrade

# 帮助

[root@localhost ~]# ./jmsctl.sh -h

# 如果网络有问题无法连接到 github

[root@localhost ~]# wget -O /opt/setuptools.tar.gz http://demo.jumpserver.org/download/setuptools.tar.gz

[root@localhost ~]# cd /opt

[root@localhost ~]# tar -xf setuptools.tar.gz

[root@localhost ~]# cd setuptools

[root@localhost ~]# git pull

[root@localhost ~]# ./jmsctl.sh -h

三、Docker安装

JumpServer封装了一个 All in one Docker, 可以快速启动。该镜像集成了所需要的组件, 支持使用外置Database和Redis

快速启动

  • 使用 root 身份输入
  • 环境迁移和更新升级请检查SECRET_KEY是否与之前设置一致, 不能随机生成, 否则数据库所有加密的字段均无法解密

[root@localhost ~]# if [ “$SECRET_KEY” = “” ]; then SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`; echo “SECRET_KEY=$SECRET_KEY” >> ~/.bashrc; echo $SECRET_KEY; else echo $SECRET_KEY; fi

[root@localhost ~]# if [ “$BOOTSTRAP_TOKEN” = “” ]; then BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`; echo “BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN” >> ~/.bashrc; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi

[root@localhost ~]# docker run –name jms_all -d -p 80:80 -p 2222:2222 -e SECRET_KEY=$SECRET_KEY -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN jumpserver/jms_all:latest

# macOS 生成随机 key 可以用下面的命令

$ if [ “$SECRET_KEY” = “” ]; then SECRET_KEY=`LC_CTYPE=C tr -dc A-Za-z0-9 < /dev/urandom | head -c 50`; echo “SECRET_KEY=$SECRET_KEY” >> ~/.bash_profile; echo $SECRET_KEY; else echo $SECRET_KEY; fi

$ if [ “$BOOTSTRAP_TOKEN” = “” ]; then BOOTSTRAP_TOKEN=`LC_CTYPE=C tr -dc A-Za-z0-9 < /dev/urandom | head -c 16`; echo “BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN” >> ~/.bash_profile; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi

访问

  • 浏览器访问:http://<容器所在服务器IP>
  • SSH访问:ssh -p 2222 <容器所在服务器IP>
  • XShell等工具请添加connection连接, 默认ssh端口2222
  • 默认管理员账户admin密码admin

外置数据库要求

  • mysql 版本需要大于等于 5.6
  • mariadb 版本需要大于等于 5.5.6
  • 数据库编码要求 uft8

创建数据库

# mysql

mysql> create database jumpserver default charset ‘utf8’ collate ‘utf8_bin’;

mysql> grant all on jumpserver.* to ‘jumpserver’@’%’ identified by ‘weakPassword’;

额外环境变量

  • SECRET_KEY = **
  • BOOTSTRAP_TOKEN = **
  • DB_HOST = mysql_host
  • DB_PORT = 3306
  • DB_USER = jumpserver
  • DB_PASSWORD = weakPassword
  • DB_NAME = jumpserver
  • REDIS_HOST = 127.0.0.1
  • REDIS_PORT = 6379
  • REDIS_PASSWORD = xxx
  • VOLUME /opt/jumpserver/data/media
  • VOLUME /var/lib/mysql

# Install

[root@localhost ~]# docker run –name jms_all -d \

-v /opt/jumpserver:/opt/jumpserver/data/media \

-p 80:80 \

-p 2222:2222 \

-e SECRET_KEY=xxxxxx \

-e BOOTSTRAP_TOKEN=xxx \

-e DB_HOST=192.168.x.x \

-e DB_PORT=3306 \

-e DB_USER=root \

-e DB_PASSWORD=xxx \

-e DB_NAME=jumpserver \

-e REDIS_HOST=192.168.x.x \

-e REDIS_PORT=6379 \

-e REDIS_PASSWORD=xxx \

jumpserver/jms_all:latest

四、Docker-Compose安装

.env的变量用在docker-compose里面, 可以自己看下可能还有一些未能检测到的问题, 尽量自己调试一遍后再使用

[root@localhost ~]# git clone https://github.com/jumpserver/Dockerfile.git

[root@localhost ~]# cd Dockerfile

[root@localhost ~]# cat .env

[root@localhost ~]# docker-compose up

官方文档:https://docs.jumpserver.org/zh/docs/step_by_step.html

原创文章,作者:admin,如若转载,请注明出处:https://hostingchat.cn/1129.html

(0)
admin的头像admin
上一篇 2020年4月14日 下午8:15
下一篇 2020年5月9日

相关推荐

  • Jumpserver开源跳板机安装

    1、Jumpserver简介 Jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合4A的专业运维审计系统。其使用 Python / D…

    2019年7月2日
    000
  • JumpServer添加Kubernetes集群管理

    一、JumpServer简介 JumpServer是全球首款完全开源的堡垒机,使用GNU GPL v2.0开源协议,符合4A规范的专业运维安全审计系统。JumpServer的产品特…

    2023年3月1日
    000
  • Jumpserver开源堡垒机管理

    此篇文章主要介绍Jumpserver开源堡垒机管理,安装请移至Jumpserver开源跳板机安装部署 一、用户管理 1)添加用户 输入要添加的用户名,姓名,权限,Mail,并且发送…

    2018年8月11日
    000
  • JumpServer管理员账号被锁定

    问题:管理员账号频繁错误登陆被锁定,需要解锁账号,如下图所示 解决方法:登陆JumpServer所在服务器。 执行以下命令: [root@localhost ~]# cd /opt…

    2025年10月23日
    000
  • Jumpserver开源堡垒机安装部署

    1、概述 由于来源身份不明、越权操作、密码泄露、数据被窃、违规操作等因素都可能会使运营的业务系统面临严重威胁,一旦发生事故,如果不能快速定位事故原因,运维人员往往就会背黑锅。几种常…

    2018年8月11日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注