linux部署jumpserver

环境准备,关闭防火墙服务

iptables -F
systemctl disable firewalld
systemctl stop firewalld
getenforce

配置yum源,准备好阿里云的yum源,以及epel源

wget -O /etc/yum.repos.d/Centos-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum cleann all   #清空原有的yum缓存
yum makecache   #生成新的yum缓存,便于加速软件下载

安装系统初始化所需要的软件

yum install -y bash-completion vim lrzsz wget expect net-tools nc nmao terr dos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc ntpdate openldap-devel gcc

安装jumpserver运行所需要的依赖环境

yum -y install git python-pip gcc automake autoconf python-devel vim sshpass lrzsz readline-devel zlib zlib-devel openssl openssl-devel

修改系统的字符集,改为是中文的

localedef -c -f UTF-8 -i zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8

把修改字符集的命令,写入全局配置文件

echo 'LANG="zh_CN.utf-8" ' > /etc/locale.conf

部署数据库mysql5.6

wget https://cdn.mysql.com//Downloads/MySQL-5.6/MySQL-5.6.49-1.el7.x86_64.rpm-bundke.tar

解压改mysql解压包

mkdir mysql_rpm
tar -xf MySQL-5.6.49-1.e17.x86_64.rpm-bundle.tar -C ./mysql_rpm

使用yum工具安装一系列的软件包

yum localinstall ./*

安装完毕后,检查mysql的配置文件

vim /etc/my.cnf

启动mysql服务端

systemctl start mysql
netstat -tunlp

对mysql进行初始化,mysql15.6版本在安装完毕后,会默认生成一个root的随机密码

cat -/.mysql_secret

是否要修改原有的密码,自行决定

mysqladmin -u root -p (密码) password (密码)

给该数据库授权访问数据库的权限

grant all privileges on jumpserver.* to 'jumpserver'@'%' identified by '密码';
flush privileges;

部署python3.6

卸载python3.6的源代码

wget https://www.python.org/tfp/python/3.6.10/Python-3.6.10.tgz

开始源代码安装python3,进行编译三步

tar -zxf Python-3.6.10.tgz

指定python3的安装目录

编译第一步,指定安装路径,与编译参数

。/configgure --prefix=teach_jmp/python3.6.10

第二步,第三步

make && make install

配置python3的环境变量,可以直接使用python3的命令

python3虚拟环境创建

部署redis数据库

mysql关系型数据库,磁盘型数据库,数据是以文件形式,存储在磁盘上的,一颗持久化长期存储

redis内存型数据库,缓存型

选择yum自动化安装,配置好yum源,epel源

yum install redis -y
systemctl start redis
netstat -tunlp | grep 6379

部署jumpserver服务

一个后台程序,基本上都是需要依赖于数据库才能运行,后台程序在启动的时候,代码就回去连接数据库,保证数据库正确启动,且可以正确连接,否则后台程序是起不来的

获取jumpserver程序的代码

wget https://github.com/jumpserver/jumpserver/releases/download/v2.1.0/jumpserver-v2.1.0.tar.gz

解压缩源码,并且安装运行jumpserver系统必须的依赖组件

jumoserver-v2.1.0.tar.gz
ln -s /teach_jmp/jumpserver-v2.1.0 /teach.jmp/jumpserver

安装依赖关系

yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc ntpdate openldap-devel

安装运行jumpserver所需要的模块(由python开发的程序,必须安装该程序使用到的一些模块,才能正确运行)

安装jumpserver模块,先激活虚拟环境,然后再安装

soure /teach_jmp/jmp_venvl/bin/activate

安装模块

pip3 install -r /teach_jmp/jumpserver/requirements/requirements.txt

修改jumpserver程序运行的配置文件

grep -Ev '^#|^$' config.yml

生成密钥

对python程序进行数据库迁移

jumpserver这个程序是由python的web框架django开发而来,必须得先进行数据库迁移,生成库表的信息,才能运行程序

jumpserver后台程序,数据库迁移命令

python3 /teach_jmp/jumpserver/apps/manage.py makemigrations

部署koko组件

下载koko源代码

wget https://github.com/jumpserver/koko/releases/download/v2.1.0/koko-v2.1.0-linux-amd64.tar.gz

解压缩配置koko软件

tar -zxf koko-v2.1.0-linux-amd64.tar.gz
chown -R root:root koko-v2.1.0-linux-amd64
ln -s /teach_jmp/koko-v2.1.0-linux-amd64 /teach_jmp/koko

修改koko配置文件信息

grep -Ev '^#|^$' /teach_jmp/koko/config.yml

启动koko程序

ps -ef|grep koko

可以检查koko的日志,明确koko是否正确启动

tail /teach_jmp/koko/data/logs/koko.log

检查koko的端口

netstat -tunlp | grep 2222

部署Guacamole组件

获取软件代码

ll 2020-07-22-16-48-00-docker-guacamole-v2.1.0.tar.gz

解压缩配置

tar -zxvf 2020-07-22-16-48-00-docker-guacamole-v2.1.0.tar.gz

继续解压执行程序

tar -zxf guacamole-server-1.2.0.tar.gz
tar -zxf ssh-forward.tar.gz

编译安装该软件程序

cd guacamole-server-1.2.0

安装FFmpeg工具

sudo yum install epel-release -y
sudo -rpm -v --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.po
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/e17/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum install ffmpeg ffmpeg-devell -y

编译安装guacamole

./configgure --with-init-dir=/etc/init.d
make && make install

部署java开发环境

yum install -y java-1.8.0-openjdk

创建运行guacamole所需的文件夹

下载tomcat工具,用于运行java项目

wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.36/bin/apache-tomcat-9.0.36.tar.gz

部署guacamole和tomcat工具的结合,需要修改他们的配置文件

设置guacamole的运行环境变量

Lina组件部署

获取代码

cd /opt
wget https://github.com/jumpserver/lina/releases/download/v2.1.0/lina-v2.1.0.tar.gz

解压缩lina组件

tar -zxf lina-v2.1.0.tar.gz
mv lina-v2.1.0 lina
chown -R nginx:nginx lina

部署Luna组件

获取luna代码

wget https://github.com/jumpserver/luna/releases/download/v2.1.1/luna-v2.1.1.tar.gz
tar -zxf luna-v2.1.1.tar.gz
mv luna-v2.1.1 luna
chown -R root.root luna

部署nginx

安装nginx

yum install nginx -y

修改nginx配置文件,删除一些默认的配置,然后添加新的配置

sed -i '38,58d' /etc/nginx/nginx.conf

Jumpserver实践

启动数据库,mysql,redis

systemctl start mysql
systemctl start redis

激活python的虚拟环境,然后启动jms核心后台

source /teach_jmp/jmp_venv1/bin/acticata/teach_jmp/jumpserver/jms start -d

启动koko程序

/teach_jmp/koko/koko -d

guacd程序启动

/etc/init.d/guacd start

启动tomcat程序

bash /opt/tomcat9/bin/startup.sh

web服务器启动

nginx

给目标机器添加防火墙规则

之允许jumpserver机器的ip可以登入,其他机器拒绝

iptables -A INPUT -s 10.0.1.100 -p tvp --dport 22 -j ACCEPT
iptables -A INPUT -p tvp --dport 22 -j REJECT

jumpserver资产管理

资产:服务器,路由器,交换机等设备,资产

管理用户

系统用户


版权声明:本文为zzy226644原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。