Centos7.2下Jumpserver V4.0环境安装部署记录
时间:2022-04-23
本文章向大家介绍Centos7.2下Jumpserver V4.0环境安装部署记录,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
之前介绍了Jumpserver在Centos6系统下的安装部署,下面说说在Centos7.2下安装最新版的Jumpserver4.0的操作记录(使用Docker一键安装): 参考:https://github.com/jumpserver/jumpserver jumpserver的git目录也可以去百度云盘上下载:https://pan.baidu.com/s/1nvE9wnv (提取密码:9g5w)
安装依赖
[root@qd-vpc-inf-sre01 app]# yum -y install git python-pip gcc automake autoconf python-devel vim sshpass lrzsz
安装docker
[root@qd-vpc-inf-sre01 app]# yum install -y docker
[root@qd-vpc-inf-sre01 app]# service docker start
安装docker compose (安装时间比较长,需要耐心等待~)
[root@qd-vpc-inf-sre01 app]# pip install docker-compose
[root@qd-vpc-inf-sre01 app]# docker-compose --version
docker-compose version 1.16.1, build 6d1ac219
--------------------------------------------------------------------------------------------------------------
如果出现下面报错:
Traceback (most recent call last):
File "/usr/bin/docker-compose", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 3011, in <module>
parse_requirements(__requires__), Environment()
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 626, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: backports.ssl-match-hostname>=3.5
解决办法:
[root@qd-vpc-inf-sre01 app]# pip install --upgrade backports.ssl_match_hostname
--------------------------------------------------------------------------------------------------------------
下载jumpserver,并执行"docker-compose up"命令安装jumpserver
[root@qd-vpc-inf-sre01 app]# git clone https://github.com/jumpserver/jumpserver.git
[root@qd-vpc-inf-sre01 app]# cd jumpserver
[root@qd-vpc-inf-sre01 jumpserver]# ls //发现有docker-compose.yml文件,就可以通过docker-compose up命令进行安装了
apps config_docker.py config_example.py data docker-compose.yml Dockerfile Dockerfile-py3 docs install LICENSE logs README.md requirements run_server.py tmp utils
[root@qd-vpc-inf-sre01 jumpserver]# docker-compose up
上面安装过程有点长,需耐心等待一段时间。当出现下面信息,莫慌!这是正常现象!这是因为coco账号还没有注册的原因!
........
jumpserver | 2017-09-17 01:03:50 [basehttp WARNING] "POST /api/applications/v1/terminal/heatbeat/ HTTP/1.1" 403 27
jumpserver | 2017-09-17 01:03:50 [basehttp WARNING] "POST /api/applications/v1/terminal/heatbeat/ HTTP/1.1" 403 27
luna | WARNING:luna.service:App auth failed, Access key error or need admin active it
coco | WARNING:/opt/coco/coco/service.py:App auth failed, Access key error or need admin active it
jumpserver | 2017-09-17 01:03:55 [basehttp WARNING] "POST /api/applications/v1/terminal/heatbeat/ HTTP/1.1" 403 27
jumpserver | 2017-09-17 01:03:55 [basehttp WARNING] "POST /api/applications/v1/terminal/heatbeat/ HTTP/1.1" 403 27
打开另一个终端窗口,查看docker的启动情况:
[root@qd-vpc-inf-sre01 jumpserver]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/redis latest 9813a7e8fcc0 3 days ago 106.6 MB
docker.io/jumpserver/coco v0.4.0-beta1 cbdae341d7fa 7 weeks ago 692.9 MB
docker.io/jumpserver/jumpserver v0.4.0-beta1 0765db2ac1d2 8 weeks ago 1.074 GB
docker.io/jumpserver/luna v0.4.0-beta1 f08d127343ba 12 weeks ago 887.4 MB
[root@qd-vpc-inf-sre01 jumpserver]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
79f0a50838a1 jumpserver/coco:v0.4.0-beta1 "/bin/sh -c 'python r" 46 minutes ago Up 9 minutes 0.0.0.0:2222->2222/tcp coco
79b4435f2c80 jumpserver/luna:v0.4.0-beta1 "/bin/sh -c 'python r" 46 minutes ago Up 9 minutes 0.0.0.0:5000->5000/tcp luna
4151e748b04c jumpserver/jumpserver:v0.4.0-beta1 "/bin/sh -c 'cd utils" 46 minutes ago Up 9 minutes 0.0.0.0:8080->8080/tcp jumpserver
528306f0c573 redis:latest "docker-entrypoint.sh" 46 minutes ago Up 9 minutes 6379/tcp redis
[root@qd-vpc-inf-sre01 jumpserver]# cat docker-compose.yml
version: '2'
services:
redis:
image: redis:latest
container_name: redis
restart: always
jumpserver:
image: jumpserver/jumpserver:v0.4.0-beta1
container_name: jumpserver
restart: always
ports:
- 8080:8080
depends_on:
- redis
coco: //这个是程序账号,映射ssh的2222端口的docker容器。通过ssh terminal方式来远程连接用的。
image: jumpserver/coco:v0.4.0-beta1
container_name: coco
restart: always
ports:
- 2222:2222
depends_on:
- jumpserver
luna: //这个也是程序账号,是通过web terminal方式来远程连接用的
image: jumpserver/luna:v0.4.0-beta1
container_name: luna
restart: always
ports:
- 5000:5000
depends_on:
- jumpserver
由上面信息可以看出,jumpserver的docker镜像已经启动起来了!这个是有就可以访问jumpserver了。
访问地址:http://10.111.232.96:8080 (10.111.232.92是jumpserver部署机的ip地址)
默认用户名和密码是:admin/admin
---------------------------------------------------注意几点----------------------------------------------------
- 登陆jumpserver后,会发现除了administration管理员账号外,还有其他两个程序账号coco和luna,这是安装的时候在docker-compose.yml文件里定义好的。
- 需要登陆jumpserver的web界面后在左边栏的"应用程序"->"终端"里注册这两个程序账号(或者访问http://10.111.232.96:8080/applications/terminal/打开注册界面)。
- coco是ssh terminal方式(登陆地址: ssh://10.111.232.96:2222),luna是web terminal方式( http://10.111.232.96:5000)。注册好后,就不会出现上面安装过程中的"WARNING"的提示了!
- "docker-compose up"命令后的信息,这个命令会一直在刷,可以看到连接情况。需要安装后,放在后台执行,即"nohup docker-compose up &"
- 如果要想重新安装jumpserver,那么就将上面启动起来的几个docker容器删除。即:docker kill $(docker ps -a -q) && docker rm $(docker ps -a -q)
- 用户是指给运维和开发人员创建的远程ssh方式登陆堡垒机的账号,这个不需要真实存在服务器上。有多少人员需要登陆堡垒机就创建多少个这样的账号。比如 ssh -p2222 wangshibo@10.111.232.96
- 管理用户是指客户端上的如root等高权限账号(或普通用户拥有NOPASSWD: ALL sudo权限), 作用用于推送系统用户。也就是说这个管理用户最好使用root,如果是非root账号,那么它必须拥有NOPASSWD: ALL sudo权限
- 系统用户是真实存在于服务器上的。就是说远程ssh登陆堡垒机后,会选择进入哪个系统用户下。
------------------------------------------------------------------------------------------------------------
下面说下配置使用:
1)登陆jumpserver(默认登陆权限是admin/admin。登陆后可以点击左上角的"管理员"->"个人信息配置"->"密码"来重置管理员密码)
2)登陆后,第一时间点击左边栏的"应用程序"->"终端",注册coco和luna程序账号
注册后,点击"用户管理"->"用户",就会发现coco和luna程序用户已经激活了
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Spring入门
- 贪心-HDU1789 Doing Homework again(活动安排问题)
- flink实战-实时计算平台通过api停止流任务
- JAVA初级岗面试知识点——基础篇
- flink实战-flink streaming sql 初体验
- flink实战教程-使用set实时计算当天网站uv
- 贪心-HDU3348 coins(钱币问题)
- 归并排序详解 -HDU4911 Inversion(逆序对)
- 数据结构与算法——稀疏数组
- Maven安装配置详细教程
- 数据结构与算法——冒泡排序
- MyBatis Generator逆向工程-你还在手写mapper吗?
- JSR303后端校验详解
- SSM整合开发实战 SSM-MALL
- SQL Server获取元数据所有方法和示例