环境准备,关闭防火墙服务
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资产管理
资产:服务器,路由器,交换机等设备,资产
管理用户
系统用户