jumpserver 服务器的构建

环境准备工作

主机IP地址
jumpserver 服务器端192.168.1.100
被管理端192.168.1.10

关闭防火墙以及selinux

[root@jumpserver ~]# systemctl stop firewalld
[root@jumpserver ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@jumpserver ~]# vim /etc/selinux/config 
......
SELINUX=disabled
......
[root@jumpserver ~]# setenforce 0

查看当前系统的字符集是什么。如果为英文需修改为中文
[root@jumpserver ~]# cat /etc/locale.conf 
LANG="zh_CN.UTF-8"
因为我这里是中文,所有就不做更改了

修改为中文的方法:
localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 
export LC_ALL=zh_CN.UTF-8 
echo 'LANG=zh_CN.UTF-8' > /etc/locale.conf

下载Python3.*版本的源码包以及jumpserver所需的组件包

Python 的下载地址:
https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz 

jumpserver的下载地址:
https://github.com/jumpserver/jumpserver  

安装Python3

在安装之前,我们先解决相关依赖关系
[root@jumpserver ~]# yum -y install sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release unzip
[root@jumpserver /]# tar -xf Python-3.6.1.tar.xz   //解压我们下载好的源码包
[root@jumpserver /]# cd Python-3.6.1/
[root@jumpserver Python-3.6.1]# ./configure && make -j 2 && make install
[root@jumpserver Python-3.6.1]# echo $?
0

虚拟化Python环境(虚拟化后在前面会多出一个(py3)的标志)
[root@jumpserver ~]# python3.6 -m venv /opt/py3
[root@jumpserver ~]# source /opt/py3/bin/activate
(py3) [root@jumpserver ~]# 
(py3) [root@jumpserver ~]# python -V        //查看版本号
Python 3.6.1

真实机Python的版本还是原来哪一个,上面那个只是我们虚拟化出来的
[root@jumpserver ~]# python -V
Python 2.7.5

安装jumpserver

解压我们下载好的源码包
(py3) [root@jumpserver /]# unzip jumpserver-package.zip   
(py3) [root@jumpserver jumpserver-package]# ls   //然后里面会有这一些目录
coco  jumpserver  luna.tar.gz  python-package
其中coco 、jumpserver、luna是jumpserver的三大组件
(py3) [root@jumpserver jumpserver-package]# mv coco/ /opt/    //移动这三大组件到/opt/目录下
(py3) [root@jumpserver jumpserver-package]# mv jumpserver/ /opt/
(py3) [root@jumpserver jumpserver-package]# mv luna.tar.gz /opt/  
(py3) [root@jumpserver ~]# cd /opt/jumpserver/requirements/     //进入这个目录
(py3) [root@jumpserver requirements]# ls
deb_requirements.txt  issues.txt  mac_requirements.txt  requirements.txt  rpm_requirements.txt
这个目录下会有很多文件
(py3) [root@jumpserver requirements]# yum install -y $(cat rpm_requirements.txt)     //使用这个下载文件中包含的依赖包
(py3) [root@jumpserver requirements]# pip install --upgrade pip         //更新pip的版本,不然后面安装依赖库关系会出现警号信息(也可以忽略这一步)
(py3) [root@jumpserver requirements]# pip install -r requirements.txt      //安装相关依赖库  会受网速的影响
如果在执行上面一步的时候,出现了报错,那就重新执行,多执行几遍就可以了
(py3) [root@localhost requirements]# yum -y install redis    //安装Redis服务器
(py3) [root@localhost requirements]# systemctl start redis && systemctl enable redis 
Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service.
(py3) [root@localhost requirements]# yum -y install mariadb mariadb-devel mariadb-server    //安装mariadb数据库
(py3) [root@localhost requirements]# systemctl start mariadb
(py3) [root@localhost requirements]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
(py3) [root@localhost ~]# mysql     //登录数据库 无密码
MariaDB [(none)]> create database jumpserver default charset 'utf8';
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on jumpserver.* to 'jumpserver'@'localhost' identified by '123';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
(py3) [root@localhost ~]# cd /opt/jumpserver/  //进入jumpserver目录
(py3) [root@localhost jumpserver]# cp config_example.py config.py      //生成配置文件
(py3) [root@localhost jumpserver]# vim config.py   //编辑配置文件  修改如下内容即可 主要用户名和密码一定要正确
 38     DB_ENGINE = 'mysql'
 39     DB_HOST = '127.0.0.1'
 40     DB_PORT = 3306
 41     DB_USER = 'jumpserver'
 42     DB_PASSWORD = '123'
 43     DB_NAME = 'jumpserver'
(py3) [root@localhost jumpserver]# cd utils/   //进入这个吗ul
(py3) [root@localhost utils]# bash make_migrations.sh   //初始化数据库操作
(py3) [root@localhost utils]# cd ..     //返回一级目录
(py3) [root@localhost jumpserver]# chmod a+x jms   //赋权
(py3) [root@localhost jumpserver]# ./jms start all -d   开启jumpserver服务器  -d  表示后台运行

注:如果第一次启动失败,那就在启动一次就可以了

浏览器访问jumpserver验证
输入:IP地址:8080 即可访问 输入用户名 admin 密码admin 即可登录
在这里插入图片描述

安装coco以及Luna组件

安装coco组件
(py3) [root@localhost jumpserver]# cd ..    //回到opt目录下
(py3) [root@localhost opt]# cd coco/requirements/   //进入这个目录
(py3) [root@localhost requirements]# yum install -y $(cat rpm_requirements.txt)   //下载文件中包含的依赖包
(py3) [root@localhost requirements]# pip install -r requirements.txt    //下载相关依赖库  如果出错了,多执行几遍即可
(py3) [root@localhost requirements]# cd ..     //返回上一级目录
(py3) [root@localhost coco]# cp conf_example.py conf.py   //生成配置文件
(py3) [root@localhost coco]# chmod a+x cocod    //赋权
(py3) [root@localhost coco]# ./cocod start -d    //启动操作
Start coco process

安装Luna组件(这个组件只需要解压即可,不需要进行任何操作)
(py3) [root@localhost coco]# cd ..     //返回opt目录下
(py3) [root@localhost opt]# ls
coco  jumpserver  luna.tar.gz  py3  rh
(py3) [root@localhost opt]# tar -xf luna.tar.gz    //解压操作

Nginx整合

(py3) [root@localhost ~]# yum install -y nginx    //下载Nginx服务器
如果这个下载不了Nginx,那么我们需要配置yum源
(py3) [root@localhost ~]# wget http://mirrors.aliyun.com/repo/epel-7.repo

(py3) [root@localhost ~]# vim /etc/nginx/nginx.conf
定位到文中的38行  任何按键盘上的20 dd 往下删除原来server存在的代码,然后复制下面这个进行修改
server {
    listen 80;

    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    location /luna/ {
        try_files $uri / /index.html;
        alias /opt/luna/;
    }

    location /media/ {
        add_header Content-Encoding gzip;
        root /opt/jumpserver/data/;
    }

    location /static/ {
        root /opt/jumpserver/data/;
    }

    location /socket.io/ {
        proxy_pass       http://localhost:5000/socket.io/;  #将localhost换为本地的IP地址
        proxy_buffering off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    location / {
        proxy_pass http://localhost:8080; #将localhost换为本地的IP地址
    }
}
(py3) [root@localhost ~]# nginx -t    //检测配置文件是否正常
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
(py3) [root@localhost ~]# systemctl start nginx    //启动Nginx服务器
(py3) [root@localhost ~]# systemctl enable nginx 
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

浏览器输入IP地址访问测试
在这里插入图片描述

coco组件的注册

会话管理----终端管理----接受
在这里插入图片描述
点击更新后出现如下界面
在这里插入图片描述
之后出现绿色就代表成功了
在这里插入图片描述

如果在注册的时候一直为红色,我们可以先去服务器上使用以下命令查看对应端口是否开启
(py3) [root@localhost keys]# netstat -lnupt | grep 2222   //如果该端口没有运行 执行以下操作
1.先删除会话管理---终端管理---点击删除
2.然后进入服务器上进行如下操作
(py3) [root@localhost ~]# cd /opt/coco/
(py3) [root@localhost coco]# ./cocod stop -d   //关闭服务
(py3) [root@localhost coco]# ./cocod start -d    //在来开启即可
(py3) [root@localhost coco]# netstat -lnupt | grep 2222    //查看端口
tcp        0      0 0.0.0.0:2222            0.0.0.0:*               LISTEN      23637/python3  
再次去注册即可

使用ssh通过2222端口连接测试

  (py3) [root@localhost ~]# ssh -p2222 admin@192.168.1.100    //登录测试
admin@192.168.1.100's password: 
Administrator, 欢迎使用Jumpserver开源跳板机系统  

    1) 输入 ID 直接登录 或 输入部分 IP,主机名,备注 进行搜索登录(如果唯一).
    2) 输入 / + IP, 主机名 or 备注 搜索. 如: /ip
    3) 输入 P/p 显示您有权限的主机.
    4) 输入 G/g 显示您有权限的主机组.
    5) 输入 G/g + 组ID 显示该组下主机. 如: g1
    6) 输入 H/h 帮助.
    0) 输入 Q/q 退出.

Opt> 

jumpserver平台初始化

系统设置—基本设置
在这里插入图片描述
开启QQ邮箱SMTP功能并获取授权码
在这里插入图片描述
系统设置—邮件设置
在这里插入图片描述
QQ邮箱查看验证结果
在这里插入图片描述

以上提交以后,需要去重启jumpserver服务器
(py3) [root@localhost ~]# /opt/jumpserver/jms stop -d 
Stop service: gunicorn
Stop service: celery
Stop service: beat
(py3) [root@localhost ~]# /opt/jumpserver/jms start -d 

创建jumpserver登录用户以及用户组

用户管理—用户组
在这里插入图片描述
点击创建用户组后,出现如下画面
在这里插入图片描述
点击用户管理—用户列表
在这里插入图片描述
点击创建用户出现如下画面
在这里插入图片描述
修改创建用户Jack的密码
在这里插入图片描述
然后点击发送密码邮件
在这里插入图片描述
QQ邮箱上验证
在这里插入图片描述
点击上图的链接进行密码更改
在这里插入图片描述
使用Jack用户登录测试
在这里插入图片描述
第一次登录会要求把一些信息补全
在这里插入图片描述
然后点击next
ssh公钥生成

(py3) [root@localhost ~]# useradd Jack    //创建Jack用户
(py3) [root@localhost ~]# echo "123" | passwd --stdin Jack   //生成Jack的密码
更改用户 Jack 的密码 。
passwd:所有的身份验证令牌已经成功更新。
(py3) [root@localhost ~]# su - Jack     //切换到Jack用户下
[Jack@localhost ~]$ ssh-keygen     //生成秘钥
[Jack@localhost ~]$ cat .ssh/id_rsa.pub    //查看家目录下的这个文件 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDpPmzIy4Y1RetczBIprAM6f4Tgm37iRVVvTa8ItNNUOxKZ3XHM4f/v47f3+37Uc66AWtupUbmlGEW2kOSHy/9FR4Xj3Pjm8BDT3FmOy6QBc8HkVUvOINYHfMcWbQ78ih7qhdLBWJ0m5/FaxjI6vlgLOB0NulslXHmT6DpX3VkGe7PlmghNf2IEqGv4l9YafBpnlHUQ7VskilWkCowJQnXU3OhiE3GxVQs0XdAtLH7b92A2mwS+Plv8ElpWRipmsjpcfU3wjFUuEkn9ae0DzzGAEmlJlUFZSiXrZ8e3IZCBhqiAwTC4/W5mmwmgIF5vWguyKxTU1hQjavaXbvLavkNT Jack@localhost.localdomain

复制以上内容到如下的文本框中
在这里插入图片描述

创建资产节点、管理用户、系统用户

资产管理—资产列表—右击ROOT选择新建节点
在这里插入图片描述
然后右击节点,点击重命名
在这里插入图片描述
创建管理用户(主要用于连接)
在这里插入图片描述
点击创建管理用 户按钮
注:用户名为root 密码必须和资产服务器root密码一致,否则可能导致连接不上资产服务器
在这里插入图片描述
创建系统用户(登录资产的用户)
在这里插入图片描述
点击创建系统用户
创建普通的系统用户 普通的系统用户只拥有一些可以操作的权限
在这里插入图片描述
创建message用户(这个用户拥有所有操作的权限
在这里插入图片描述

创建资产

资产管理—资产列表—王者荣耀西南区服务器—创建资产
在这里插入图片描述
点击创建资产按钮后,进行如下操作
注:我们这里需要新开一台Linux系统来充当资产
在这里插入图片描述
连接成功后是如下的样子的
在这里插入图片描述
测试硬件信息以及是否能够连接
测试硬件信息
在这里插入图片描述
测试是否连接
在这里插入图片描述

创建授权规则

创建这个授权规则需要用到我们之前创建的jumpserver登录用户
在这里插入图片描述
点击创建授权规则
在这里插入图片描述
192.168.1.10服务器上查看是否创建用我们制定的系统用户

[root@localhost ~]# tail -5 /etc/passwd
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
admin-root:x:1000:1000::/home/admin-root:/bin/bash  

如上所示,admin-root 就是我们创建的系统用户管理员

[root@localhost ~]# visudo    //查看admin-root 拥有的权限  
*在最后一行*
admin-root ALL=(ALL) NOPASSWD: /sbin/,/bin/

jumpserver用户登录测试

注销当前的administrator 用户
然后我们点击会话管理----web终端 之后会弹出一个界面出来
在这里插入图片描述
选择对应资产服务器,之后就会显示以系统用户登录的字符界面了

我们输入几个命令来测试一下
在这里插入图片描述
然后我们使用远程软件FinalShell来登录
用户使用jumpserver创建的登录用户来进行登录(就是管理组当中的用户) 端口号为2222
在这里插入图片描述

登录之后的界面是这样子的
在这里插入图片描述
我们输入p来查看权限
在这里插入图片描述
然后我们输入主机的名称 就是hostname那一栏的内容
然后就切换到了我们系统用户的登录界面了
在这里插入图片描述

查看历史会话记录

历史会话记录(会有视频回放功能)
在这里插入图片描述

至此,jumpserver整个环境搭建就到此结束了,如有错误,请指出改正

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ball-4444

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值