34.1.2  部署Jumpserver运行环境

实验环境:

机器A.cn IP : 192.168.177.251 jumpserver服务端

机器B.cn IP:192.168.177.143  资源,被管理的服务器

关闭 selinux 和防火墙

[root@机器A ~]# setenforce 0 # 可以设置配置文件永久关闭

[root@机器A ~]# systemctl stop firewalld.service ; systemctl disable firewalld.service

# 修改字符集,否则可能报 input/output error的问题,因为日志里打印了中文

[root@机器A ~]# localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8

[root@机器A ~]# export LC_ALL=zh_CN.UTF-8

[root@机器A ~]# echo 'LANG=zh_CN.UTF-8' > /etc/locale.conf

[root@机器A ~]# exit

再重新连接, 这样语言环境就改变了。

准备 Python3 和 Python 虚拟环境

1、安装依赖包

注:安装前,可以开启yum缓存功能,把软件包下载下来,方便后期使用。

[root@机器A ~]# vim /etc/yum.conf

改:keepcache=0

为:keepcache=1

[root@机器A ~]# yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git

编译安装python3.6.1

[root@机器A ~]# cd /opt

[root@机器A ~]# tar xvf Python-3.6.1.tar.xz && cd Python-3.6.1

[root@机器A ~]# ./configure && make -j 4 && make install

# 这里必须执行编译安装,否则在安装 Python 库依赖时会有麻烦...

注:在线下载 wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz

建立 Python 虚拟环境

因为 CentOS 6/7 自带的是 Python2,而 Yum 等工具依赖原来的 Python,为了不扰乱原来的环境我们来使用 Python 虚拟环境

[root@机器A ~]# cd /opt

[root@机器A ~]# python3 -m venv py3 名为py3的python虚拟机

[root@机器A ~]# source /opt/py3/bin/activate

(py3) [root@机器A ~]# #切换成功的,前面有一个py3 标识

# 看到下面的提示符代表成功,以后运行 Jumpserver 都要先运行以上 source 命令,以下所有命令均在该虚拟环境中运行

安装 Jumpserver 1.0.0

1、下载或 Clone 项目

项目提交较多 git clone 时较大,你可以选择去 Github 项目页面直接下载zip包。

(py3) [root@机器A ~]# cd /opt/jumpserver/ #我们已经提前下载

注:在线下载方法:

git clone --depth=1 https://github.com/jumpserver/jumpserver.git && cd jumpserver && git checkout master

注:depth用于指定克隆深度,为1即表示只克隆最近一次commit

2、 安装依赖 RPM 包

[root@机器A ~]# cd /opt/jumpserver/requirements

[root@机器A ~]# yum -y install $(cat rpm_requirements.txt)

3、 安装 Python 库依赖

[root@机器A ~]# cd /opt/jumpserver/requirements

[root@机器A ~]# source /opt/py3/bin/activate

(py3) [root@机器A ~]# pip -V

pip 9.0.1 from /opt/py3/lib/python3.6/site-packages (python 3.6)

方法1:离线安装:

(py3) [root@机器A python-package]# cd /opt/python-package

(py3) [root@机器A ~]# pip install ./*

方法2:在线安装:(py3) [root@机器A ~]# pip install -r requirements.txt

pip 是一个安装和管理 Python 包的工具,相当于yum命令

4、安装 Redis, Jumpserver 使用 Redis 做 cache 和 celery broke

[root@机器A ~]# yum -y install redis

[root@机器A ~]# systemctl enable redis ; systemctl start redis

5、安装 MySQL

本教程使用 Mysql 作为数据库,如果不使用 Mysql 可以跳过相关 Mysql 安装和配置

[root@机器A ~]# yum install mariadb mariadb-devel mariadb-server -y

[root@机器A ~]# systemctl enable mariadb ; systemctl start mariadb

[root@机器A ~]# mysql

MariaDB [(none)]> create database jumpserver default charset 'utf8';

MariaDB [(none)]> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '123456';

MariaDB [(none)]> exit;

7、改 Jumpserver 配置文件

[root@机器A ~]# cd /opt/jumpserver

[root@机器A ~]# cp config_example.py config.py

[root@机器A ~]# vim config.py

# 我们计划修改 DevelopmentConfig 中的配置,因为默认 Jumpserver 使用该配置,它继承自 Config

注意: 配置文件是 Python 格式,不要用 TAB,而要用空格

class DevelopmentConfig(Config):

DEBUG = True

DB_ENGINE = 'mysql'

DB_HOST = '127.0.0.1'

DB_PORT = 3306

DB_USER = 'jumpserver'

DB_PASSWORD = '123456'

DB_NAME = 'jumpserver'

如下:一定要注意前面空格的对齐。

8、成数据库表结构和初始化数据

(py3) [root@机器A jumpserver]# cd /opt/jumpserver/utils

(py3) [root@机器A jumpserver]# bash make_migrations.sh #注,在执行这一条命令之前,必续保障之前的pip install ./* 命令已经执行完了,不然后导入不了Django等软件包。

9、行 Jumpserver

(py3) [root@机器A jumpserver]# cd /opt/jumpserver

(py3) [root@机器A jumpserver]# chmod +x jms

(py3) [root@机器A jumpserver]# ./jms start all -d # 后台运行使用 -d 参数

注: ./jms start all #前台运行

如果运行失败了,重新启动一下。

#启动服务的脚本,使用方式./jms start|stop|status|restart all 后台运行请添加 -d 参数

测试:

访问 http://192.168.1.63:8080/ 用户 : admin 密码: admin

这里需要使用8080端口来访问页面。后期搭建 nginx 代理,就可以直接使用80端口正常访问了

附上重启的方法

(py3) [root@机器A jumpserver]# ./jms restart -d

安装 Coco组件

coco概述:coco实现了 SSH Server 和 Web Terminal Server 的组件,提供 SSH 和 WebSocket 接口, 使用 Paramiko 和 Flask 开发。

(py3) [root@机器A jumpserver]# cd /opt/coco #直接使用离线代码

(py3) [root@机器A jumpserver]# source /opt/py3/bin/activate

附:在线下载代码:# git clone https://github.com/jumpserver/coco.git && cd coco && git checkout master

2、 安装coco的依赖包,主要有rpm和python包

(py3) [root@机器A jumpserver]# cd /opt/coco/requirements

(py3) [root@机器A jumpserver]# yum -y install $(cat rpm_requirements.txt)

(py3) [root@机器A jumpserver]# pip install -r requirements.txt #前面已经离线安装过python的包,这里就很快安装成功了,或提示已经安装成功。

注:扩展: pip download -r requirements.txt #使用download可以下载python包到本地

3、查看配置文件并运行

(py3) [root@机器A jumpserver]# cd /opt/coco

(py3) [root@机器A jumpserver]# cp conf_example.py conf.py # 如果 coco 与 jumpserver 分开部署,请手动修改 conf.py

(py3) [root@机器A coco]# chmod +x cocod

(py3) [root@机器A jumpserver]# ./cocod start -d #后台运行使用 -d 参数

# 新版本更新了运行脚本,使用方式./cocod start|stop|status|restart 后台运行请添加 -d 参数

安装Web-Terminal前端-Luna组件-配置Nginx整合各组件

安装luna组件

Luna概述:Luna现在是 Web Terminal 前端,计划前端页面都由该项目提供,Jumpserver 只提供 API,不再负责后台渲染html等。

解压 Luna

(py3) [root@机器A jumpserver]# cd /opt

(py3) [root@机器A jumpserver]# tar xvf luna.tar.gz

(py3) [root@机器A jumpserver]# ls /opt/luna

注:在线下载

#wget https://github.com/jumpserver/luna/releases/download/v1.0.0/luna.tar.gz

配置 Nginx 整合各组件

安装 Nginx 根据喜好选择安装方式和版本

(py3) [root@机器A jumpserver]# yum -y install nginx

5.2 准备配置文件 修改 /etc/nginx/conf.d/jumpserver.conf

内容如下:

(py3) [root@机器A opt]# vim /etc/nginx/nginx.conf

删除第38行到 57行中server {。。。}相关的内容,在vim命令模式,输入38gg,快速跳到38行,然后输入20dd,就可以删除。

删除后,在38行插入以一下内容:

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/;  #如果coco安装在别的服务器,请填写它的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;  #如果jumpserver安装在别的服务器,请填写它的ip

}

}

运行 Nginx

(py3) [root@机器A opt]# nginx -t   # 检测配置文件

(py3) [root@机器A jumpserver]# systemctl start nginx  ;  systemctl enable nginx

接受coco注册

到会话管理-终端管理 接受 Coco的注册。点接受。

测试连接**

(py3) [root@机器A jumpserver]# ssh -p2222 admin@192.168.1.63   #密码: admin

jumpserver平台系统初始化

34.4.1  系统基本设置

这里要写成自己真实的URL地址,不然后期用户访问不了 http://192.168.177.25

自己邮箱要开启smtp和pop3服务。

开启POP3/SMTP/IMAP服务方法:

配置完后,需要重启一下服务。不然后期创建用户,收不到邮件。

(py3) [root@机器A jumpserver]# /opt/jumpserver/jms stop all -d

(py3) [root@机器A jumpserver]# /opt/jumpserver/jms start all -d

配置邮件服务后,点击页面的"测试连接"按钮,如果配置正确,Jumpserver 会发送一条测试邮件到您的 SMTP 账号邮箱里面:

注意: 在使用jumpserver过程中,有一步是系统用户推送,要推送成功,client(后端服务器)要满足以下条件:

1)后端服务器需要有python、sudo环境才能使用推送用户,批量命令等功能

2)后端服务器如果开启了selinux,请安装libselinux-python。一般情况服务器上都关闭了selinux

使用jumpserver 管理王者荣耀数万台游戏服务器

用户管理

1、添加用户组。

用户名即 Jumpserver 登录账号。用户组是用于资产授权,当某个资产对一个用户组授权后,这个用户组下面的所有用户就都可以使用这个资产了。角色用于区分一个用户是管理员还是普通用户。

点击用户管理 —> 查看用户组 —> 添加用户组

2、添加用户

点击用户管理 —> 用户列表 —> 创建用户

其中,名称是真实姓名,用户名即 Jumpserver 登录账号。

然后点提交

成功提交用户信息后,Jumpserver 会发送一条设置"用户密码"的邮件到您填写的用户邮箱

这个时候连接打不开先不要管。继续后面的。

先创建个用户,生成秘钥

这个需要用户自己生成SSH 密钥,方便后期登录:我在自己的另一台linux上,使用mk用户生成自己的ssh密钥。

(py3) [root@机器A luna]# useradd mk123

(py3) [root@机器A luna]# echo 123456 | passwd --stdin mk123

[root@机器A opt]# su - mk123

[mk@机器A ~]$ ssh-keygen #一路回车

[mk@机器A ~]$ cat ~/.ssh/id_rsa.pub

秘钥码

编辑资产树添加节点

节点不能重名,右击节点可以添加、删除和重命名节点,以及进行资产相关的操作

改成节点名字为:王者荣耀-华北区-服务器

创建管理用户

Jumpserver里各个用户的说明:

管理用户是服务器的 root,或拥有 NOPASSWD: ALL sudo 权限的用户,Jumpserver 使用该用户来推送系统用户、获取资产硬件信息等

王者荣耀-华北区-服务器管理用户-root     密码是: 123456

前提,你的王者荣耀-华北区-服务器节点中所有的服务器root用户密码都是:123456

这样就可以使用此root用户管理服务器。

创建系统用户

系统用户是 Jumpserver 跳转登录资产时使用的用户,可以理解为登录资产用户, Jumpserver使用系统用户登录资产。

系统用户的 Sudo 栏填写允许当前系统用户免sudo密码执行的程序路径,如默认的/sbin/ifconfig,意思是当前系统用户可以直接执行 ifconfig 命令或 sudo ifconfig 而不需要输入当前系统用户的密码,执行其他的命令任然需要密码,以此来达到权限控制的目的。

#此处的权限应该根据使用用户的需求汇总后定制,原则上给予最小权限即可。

系统用户创建时,如果选择了自动推送 Jumpserver 会使用 Ansible 自动推送系统用户到资产中,如果资产(交换机、Windows )不支持 Ansible, 请手动填写账号密码。

Linux系统协议项务必选择 ssh 。如果用户在系统中已存在,请去掉自动生成密钥、自动推送勾选。

增加一个:检查服务器运行状态的用户: user 权限: /sbin/ifconfig,/usr/bin/top,/usr/bin/free

再加一个: 系统管理员用户:manager

34.5.5   创建资产

点击页面左侧的“资产管理”菜单下的“资产列表”按钮,查看当前所有的资产列表。

点击页面左上角的“创建资产”按钮,进入资产创建页面,填写资产信息。

IP地址和管理用户要确保正确,确保所选的管理用户的用户名和密码能"牢靠"地登录指定的 IP 主机上。资产的系统平台也务必正确填写。公网 IP 信息只用于展示,可不填,Jumpserver 连接资产使用的是 IP 信息。

开启虚拟机机器B.cn。 一会把这台机器当成资源添加平台中。

192.168.177.143

资产创建信息填写好保存之后,可以看到已经可以连接资产,说明正常:

如果资产不能正常连接,请检查管理用户的用户名和密钥是否正确以及该管理用户是否能使用 SSH 从 Jumpserver 主机正确登录到资产主机上。

34.5.6   网域列表

网域功能是为了解决部分环境无法直接连接而新增的功能,原理是通过网关服务器进行跳转登录。

这个功能,一般情况不用到。

34.5.7  创建授权规则

节点,对应的是资产,代表该节点下的所有资产。

用户组,对应的是用户,代表该用户组下所有的用户。

系统用户,及所选的用户组下的用户能通过该系统用户使用所选节点下的资产。

节点,用户组,系统用户是一对一的关系,所以当拥有 Linux、Windows 不同类型资产时,应该分别给 Linux 资产和 Windows 资产创建授权规则。

授权成功后,你自己手动到机器B上查看:

[root@机器B ~]# tail /etc/passwd -n 5

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

ntp:x:38:38::/etc/ntp:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

mk:x:1000:1000:mk:/home/mk:/bin/bash

manager:x:1001:1001::/home/manager:/bin/bash #自动推送一个帐号,自动在资产服务器上创建系统用户

[root@机器B ~]# visudo #sudo相关的规则也会被自动推送过来

manager ALL=(ALL) NOPASSWD: /sbin/,/bin/

用户使用资产

登录 Jumpserver

创建授权规则的时候,选择了用户组,所以这里需要登录所选用户组下面的用户才能看见相应的资产。

使用无痕浏览器,再打开一个窗口,进行登录:

用户正确登录后的页面:

连接资产,点击页面左边的 Web 终端:

打开资产所在的节点:

双击资产名字,就连上资产了:

如果显示连接超时,请检查为资产分配的系统用户用户名和密钥是否正确,是否正确选择 Linux 操作系统,协议 ssh,端口22,以及资产的防火墙策略是否正确配置等信息。

接下来,就可以对资产进行操作了。

34.5.9  在xshell字符终端下连接jumpserver管理服务器

输入jumpserver用户mk123 和密码123456

点击确定开始连接

Opt> 64   #输入一个64,就可以直接登录:192.168.1.64

Connecting to manager@game64.bwwg.cn-王者荣耀-华北区 0.3

Last login: Thu Jun  7 23:15:13 2018 from机器A.cn

[manager@机器B ~]$ whoami  #发现登录使用的是系统用户manager

manager

[manager@机器B ~]$ exit

登出

Opt> p  #显示你有权限的主机

ID  Hostname                          IP              LoginAs       Comment

1  game64.bwwg.cn-王者荣耀-华北区 192.168.1.64    [系统管理员用户]

Opt> g  #显示你有权限的主机组

ID Name            Assets     Comment

1王者荣耀-华北区-服务器                         1

查看历史命令记录

查看历史会话并回放视频

更多内容,可以参数官方手册:http://docs.jumpserver.org/zh/docs/step_by_step.html

Jumpserver堡垒机概述-部署Jumpserver运行环境

安装Coco组件

安装Web-Terminal前端-Luna组件-配置Nginx整合各组件

jumpserver平台系统初始化

使用jumpserver 管理王者荣耀数万台游戏服务器

jumpserver 节点部署_Jumpserver部署相关推荐

  1. jumpserver 节点部署_Jumpserver 部署

    Jumpserver堡垒机概述 34.1.1  跳板机概述: 跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作: 跳板机缺点:没有实现对运 ...

  2. 开源跳板机(堡垒机)Jumpserver v2.0.0 部署篇

    Jumpserver 是一款基于Python+Django开发的开源堡垒机系统,使用LDAP统一认证,同时还有命令审计功能. 优势:         1.所有服务器使用LDAP统一认证.        ...

  3. BitShares 2.0 多节点私链部署

    关于如何搭建BitShares多节点私链请参看:BitShares 2.0 多节点私链部署 关于如何搭建BitShares的web钱包搭建和接入私链请参考:BitShares之web钱包搭建及接入私链 ...

  4. 多节点OpenStack Charms 部署指南0.0.1.dev303--21--控制器备份和还原

    目录: 第一节 多节点OpenStack Charms 部署指南0.0.1.dev223–1--OpenStack Charms 部署指南 第二节 多节点OpenStack Charms 部署指南0. ...

  5. 9 Openstack-Ussuri-Neutron控制/计算节点集群部署-centos8

    Nova具体功能如下: 1 Neutron 为整个 OpenStack 环境提供网络支持,包括二层交换,三层路由,负载均衡,防火墙和 VPN 等. 2 Neutron 提供了一个灵活的框架,通过配置, ...

  6. 虚拟矿机服务器架设,Swarm Bzz个人矿机需要什么配置?Bzz节点一键自动部署工具...

    BZZ即将完成空投进入主网阶段,可以说现在就是bzz的头矿阶段!本文由实际经验总结,分享bzz币个人怎么配置才能尽快获得头矿!同时,附上bzz节点一键自动部署工具. Swarm白皮书中并没有提供的硬件 ...

  7. 使用部署脚本部署双节点DSC.

    使用部署脚本部署双节点DSC. 环境准备: 两节点操作系统环境配置完毕. 两节点dm数据库软件按照完毕,版本,安装路径,都一致. a.上传配置脚本到第一节点,并解压缩. 上传自动配置脚本到/home/ ...

  8. Kubernetes------二进制双master节点集群部署

    前文环境中完成k8s单master节点集群架构部署,两个node节点都已加入集群中,完成与master节点的通信.本文在前文基础下,再加入一个master节点,同时加入nginx负载均衡+keepal ...

  9. Centos下堡垒机Jumpserver V3.0环境部署

    Centos下堡垒机Jumpserver V3.0环境部署1)关闭jumpserver部署机的iptables和selinux [root@test-vm001 ~]# cd /opt [root@t ...

最新文章

  1. 服务器用户没有读取权限,Windows找不到文件或没有读取权限怎么办
  2. 悉尼大学计算机研究生学制,悉尼大学研究生学制
  3. linux 源码编译upx 压缩软件
  4. IDC:PC时代将结束 微软谷歌是最大输家和赢家
  5. why COMM_PRFREEATTR could not appear in F4 help
  6. 螺旋方阵问题【数组】
  7. .net环境下如何使用MySql数据库
  8. 用正则表达式抓取网络连接的简单实现
  9. 25个酷炫的Matplotlib图表,附Python源码
  10. 纬衡、金蝶、腾讯、迅雷获深圳软件明星企业称号
  11. 【Chrome】浏览器控制台设置成中文
  12. 利用 Python 读写文本内容
  13. 组装计算机主机算固定资产吗,​购买电脑配件组装电脑属于固定资产吗
  14. 朋友圈gys是什么意思,女生微信朋友圈说说经典句子
  15. Failed to read artifact descriptor for xxx:jar的问题解决
  16. 属于python保留字的是_属牛的女人全集:属牛女的性格、命运、属相婚配表等-第一星座网...
  17. python文本编辑器下载_python文本编辑器下载-TextPad下载v 8.2.0最新免费版-西西软件下载...
  18. 记住CAD绘图快捷键,让你快速当大师
  19. Android exposed beyond app through Intent.getData()
  20. e.keyCode和e.which使用

热门文章

  1. IPhone WebApp 设计开发工具与资源(转)
  2. Linux 命令篇 之 uname
  3. unpivot用法 oracle10g,Oracle 行转列pivot 、列转行unpivot 的Sql语句总结(转)
  4. Windows CMD findstr命令
  5. selenium自动化测试框架——建议收藏
  6. 关于HRESULT码详解
  7. 美国硕士 计算机 留学费用,美国计算机硕士留学费用要多少?会更贵吗?
  8. PageHelper使用注意
  9. 鸽巢原理详解(口水化解释)
  10. 前端开发培训应掌握的知识点