jumpserer安装和配置

用centos 7.9的系统才可以,测试7.2的貌似不行。

一、第一种方式部署jumpserver

 一、装插件
 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 /安装开发文件库
 
 二、加yum源
 wget -O /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo #下载阿里yum源
 
yum makecache #生成仓库缓存
 
三、yum install docker -y

systemctl start docker #启动docker
systemctl enable docker #开机启动docker
systemctl status docker #查看docker状态


四、查看版本
docker -v

五、# 生成随机加密秘钥
1.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

2.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

六、下载jumpserver带安装,时间要一会。
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:1.4.8
这条命令的真正含义: docker run -p 本机映射端口:镜像映射端口 -d  --name 启动镜像名称 -e 镜像启动参数  镜像名称:镜像版本号

二、第二种方式安装jumpserver

docker环境准备

wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
yum install docker-ce -y
systemctl enable docker
systemctl start docker

配置镜像加速	
sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{
  "registry-mirrors": ["https://h8h8tgzq.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

Linux 生成随机加密秘钥	
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  
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

运行docker部署jumpserver	
mkdir  -p /opt/jumpserver/data

mkdir  -p /opt/jumpserver/mysql

docker run --name jms_all -d \
  -p 80:80 -p 2222:2222 \
  -e SECRET_KEY=$SECRET_KEY \
  -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN \
  -v /opt/jumpserver/data:/opt/jumpserver/data \
  -v /opt/jumpserver/mysql:/var/lib/mysql \
  --privileged=true \
  jumpserver/jms_all:v2.3.1

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

1、docker基本使用(不会基本使用服务器重启后很麻烦,运行不起来)
docker images /查看docker中所有的镜像
docker ps -a /查看当前已运行和未运行的docker实例程序
docker start fe754db626db /启动镜像实例,停止用stop
docker rm /镜像实例ID
docker rmi -f 8f5116cbc201 /直接删镜像,也就是用images查看到的内容。

2、docker自启动jumpserver
docker run --restart=always /这个命令用不了老是报错,搞不清楚为什么。

3、、如果已经启动了则可以使用如下命令(注意:在运行完第六步后必须把这个做了,不然服务器重启就起不了jumpserver服务了):
docker update --restart=always
例: docker update --restart=always 0e7e51def033 /最后数字ID为docker ps看到的镜实例

4、存储规划
硬盘容量主要用于存储审计录像,所以容量的选择需要根据用户资产数量以及使用程度来评估,建议最好200G以上,以100台Linux虚拟机资产为例,正常的日常使用,200G可以存储5-6个月的录像。
存储空间评估标准
每小时产生录像大小(Linux和Windows平均值)10MB
每天操作时限 4小时
保留期限 30天
存储空间 109104*30=127GB
主要是用于录像存储

5、端口
22 SSH
80,880 jumpserver的web服务(Nginx) 根据用户需求可以修改
2222 jumpserver的终端连接端口 给第三方远程终端工具(xshell,putty等)使用
5000 Koko服务端口
8081 guacamole服务端口
8070
3306 mariadb数据库端口
6379 Redis

6、最后操作

docker ps /查看容器是否运行起来了

docker logs ContainerID /单次查看

docker logs -f ContainerID /一直持续性查看

systemctl stop firewalld /看防火墙关了没有

getenforce /看selinux关了没有

yum install net-tools /这个命令要先安装工具
netstat -tunlp /看监听的端口

7、加上,也就是管理员的email,后面创建用户会用这个email给新用户发邮件,让新用户改密码。

三、用户管理
先对jumpserver设置公钥和私钥:
ssh localhost
ssh-keygen
一路回车

[root@model ~]# cd /root/.ssh/
[root@model .ssh]#
[root@model .ssh]# ls
authorized_keys id_rsa id_rsa.pub

id_rsa.pub就是公钥

jumpserver有三种用户,之间的关系比较复杂。
1、普通用户,用于登陆jumpserver web管理,给对应的权限让普通用户只能对自己有限的资源(被管理的设备,如服务器等)进行控制,直接创建就行了,注意一点一定要把jumpserver服务器的公钥复制进来,不然新用户登陆不上去。
在这里插入图片描述
2、资产管理–管理用户
这个用户是用来jumpserver服务器和被管理设备之间进行免密登陆的,也就是用这个用户去登陆被管理机来进行一系列的任何操作。
管理用户一般就用jumpserver服务器上的面的root用户,所以要先把root用户公私密钥生成,把公钥推送到每一台被管理的设备上,然后再把root的私钥复制到,用web登陆jumpserver的这台机上(一般是windows),然后在web页面添加资产管理-管理用户,把这个私钥导进去。
把jumpserver服务器上的root管理用户公钥摧给被 管理设备192.168.111.198
在这里插入图片描述
然后就可以密登陆了,直接操作:
在这里插入图片描述

把root的私钥弄出来
在这里插入图片描述

把弄出来的root私钥给导入web界面的管理用户里去
在这里插入图片描述

3、资产管理—系统用户
这个用户就是用来登陆被管理设备的用的账号,比如说你要远程去管理一个设备,肯定要先输入账号密码才能登陆上去呀,这个账号就是用来登陆那个被 管理的设备的。
当然了被管理设备上是没有这个账号的,你怎么能登陆上去呢?当你在jumpserver后台上面设置好系统用户后,管理用户会自动登陆到被管理设备上帮你创建这个系统用户。
例:先创建一个系统用户ydaxia
在这里插入图片描述

资产管理添加:
注意被管理端上面要有python2.6以上的才行,别外ubuntu系统不支持root连接ssh,要去处理一下。

管理用户就是刚才加的root用户
在这里插入图片描述
刷新一下就得被管理机的信息了
在这里插入图片描述
资源授权设置
在这里插入图片描述
当你提交的那一刹那间,被管理那台机上会自动创建一个ydaxia用户,因为前面root登陆这个被管理的设备已免密,
如果不能自动创建就手动在那台被管理机上创建这个ydaxia用户(实验中发现有时间却不能创建,不清楚为什么)

然后退出web页面,用test用户登陆进去就能看到这个用户所要管理的设备了
在这里插入图片描述
就可以对被管理设备进行管理了:
在这里插入图片描述

在这里插入图片描述
如果是要添加windows资产,基本上也这样操作,不过要提前在windows上建立好用户,因为jumpserver不能像控制linux那样去创建用户,还要在远程管理里面加入到远程组里去才可以,且要用这个连接的用户登陆到桌面,jumpserver才能连接上。

用本地一台jumpserver服务器来对其它外地机房的设备统一管理:
添加资产-网域列表:可以加外地机房一起管理,而不用在外地机房再创建jumpserver服务器了,通过外地机房那台能上公网的服务来做跳板,jumpserver通过它来对外地机房的其它服务器进行下发配置管理。
在这里插入图片描述
在这里插入图片描述
点网关进行创建 :
在这里插入图片描述
这里的IP是外地机房的公网IP也就是那个跳板机:
在这里插入图片描述
先把jumpserver服务器的公钥摧给跳板机

然后跳板机再把自己的公钥摧给外地机房里其它被管理的服务器

添加管理用户时,管理用户的私钥要填跳板机的私钥

四、删除卸载

rm -rf /opt/jumpserver
rm -rf /opt/py3
rm -rf /etc/nginx/conf.d/jumpserver.conf
docker rm jms_koko
docker rm jms_guacamole
docker rmi jumpserver/jms_koko:v2.3.1
docker rmi jumpserver/jms_guacamole:v2.3.1
rm -rf /usr/lib/systemd/system/jms.service
rm -rf /opt/start_jms.sh
rm -rf /opt/stop_jms.sh

mysql -uroot
drop database jumpserver;
exit

redis-cli -h 127.0.0.1
flushall
exit

Guess you like

Origin blog.csdn.net/ydaxia110/article/details/120206630