当前位置:首页 > 系统 > CentOS7安装堡垒机JumpServer

CentOS7安装堡垒机JumpServer

系统2年前 (2020-02-15)

CentOS7安装堡垒机JumpServer

JumpServer是开源的堡垒机(跳板机),支持管理SSH、Telnet、RDP、VNC协议资产


组件说明

JumpServer为管理后台,

koko为SSH Server和Web Terminal Server 

Luna为Web Terminal Server前端页面

Guacamole为RDP协议和VNC协议资产组件


端口说明

JumpServer默认Web端口为8080/tcp, 默认WS端口为8070/tcp, 配置文件jumpserver/config.yml

koko默认SSH端口为2222/tcp, 默认Web Terminal端口为5000/tcp 配置文件在koko/config.yml

Guacamole默认端口为8081/tcp, 配置文件 /config/tomcat9/conf/server.xml

Nginx默认端口为 80/tcp

Redis默认端口为 6379/tcp

Mysql默认端口为 3306/tcp


1.系统配置

echo -e "\033[31m 1. 防火墙 Selinux 设置 \033[0m" \
  && if [ "$(systemctl status firewalld | grep running)" != "" ]; then firewall-cmd --zone=public --add-port=80/tcp --permanent; firewall-cmd --zone=public --add-port=2222/tcp --permanent; firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.17.0.0/16" port protocol="tcp" port="8080" accept"; firewall-cmd --reload; fi \
  && if [ "$(getenforce)" != "Disabled" ]; then setsebool -P httpd_can_network_connect 1; fi


2.安装环境组件

echo -e "\033[31m 2. 部署环境 \033[0m" \
  && yum update -y \
  && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
  && yum -y install kde-l10n-Chinese \
  && 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 \
  && yum -y install wget gcc epel-release git \
  && yum install -y yum-utils device-mapper-persistent-data lvm2 \
  && yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo \
  && yum makecache fast \
  && rpm --import https://mirrors.aliyun.com/docker-ce/linux/centos/gpg \
  && echo -e "[nginx-stable]\nname=nginx stable repo\nbaseurl=http://nginx.org/packages/centos/\$releasever/\$basearch/\ngpgcheck=1\nenabled=1\ngpgkey=https://nginx.org/keys/nginx_signing.key" > /etc/yum.repos.d/nginx.repo \
  && rpm --import https://nginx.org/keys/nginx_signing.key \
  && yum -y install redis mariadb mariadb-devel mariadb-server MariaDB-shared nginx docker-ce \
  && systemctl enable redis mariadb nginx docker \
  && systemctl start redis mariadb \
  && yum -y install python36 python36-devel \
  && python3.6 -m venv /opt/py3


3.安装系统组件

echo -e "\033[31m 3. 下载组件 \033[0m" \
  && cd /opt \
  && if [ ! -d "/opt/jumpserver" ]; then git clone --depth=1 https://github.com/jumpserver/jumpserver.git; fi \
  && if [ ! -f "/opt/luna.tar.gz" ]; then wget https://demo.jumpserver.org/download/luna/1.5.6/luna.tar.gz; tar xf luna.tar.gz; chown -R root:root luna; fi \
  && yum -y install $(cat /opt/jumpserver/requirements/rpm_requirements.txt) \
  && echo -e "[easy_install]\nindex_url = https://mirrors.aliyun.com/pypi/simple/" > ~/.pydistutils.cfg \
  && source /opt/py3/bin/activate \
  && pip install wheel -i https://mirrors.aliyun.com/pypi/simple/ \
  && pip install --upgrade pip setuptools -i https://mirrors.aliyun.com/pypi/simple/ \
  && pip install -r /opt/jumpserver/requirements/requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ \
  && mkdir /etc/docker \
  && wget -O /etc/docker/daemon.json http://demo.jumpserver.org/download/docker/daemon.json \
  && systemctl restart docker \
  && docker pull wojiushixiaobai/jms_koko:1.5.6 \
  && docker pull wojiushixiaobai/jms_guacamole:1.5.6 \
  && rm -rf /etc/nginx/conf.d/default.conf \
  && wget -O /etc/nginx/conf.d/jumpserver.conf https://demo.jumpserver.org/download/nginx/conf.d/jumpserver.conf


4.更改配置

 echo -e "\033[31m 4. 处理配置文件 \033[0m" \
  && source ~/.bashrc \
  && if [ "$DB_PASSWORD" = "" ]; then DB_PASSWORD=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 24`; fi \
  && if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; 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; fi \
  && if [ "$Server_IP" = "" ]; then Server_IP=`ip addr | grep 'state UP' -A2 | grep inet | egrep -v '(127.0.0.1|inet6|docker)' | awk '{print $2}' | tr -d "addr:" | head -n 1 | cut -d / -f1`; fi \
  && if [ ! -d "/var/lib/mysql/jumpserver" ]; then mysql -uroot -e "create database jumpserver default charset 'utf8';grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '$DB_PASSWORD';flush privileges;"; fi \
  && if [ ! -f "/opt/jumpserver/config.yml" ]; then cp /opt/jumpserver/config_example.yml /opt/jumpserver/config.yml; sed -i "s/SECRET_KEY:/SECRET_KEY: $SECRET_KEY/g" /opt/jumpserver/config.yml; sed -i "s/BOOTSTRAP_TOKEN:/BOOTSTRAP_TOKEN: $BOOTSTRAP_TOKEN/g" /opt/jumpserver/config.yml; sed -i "s/# DEBUG: true/DEBUG: false/g" /opt/jumpserver/config.yml; sed -i "s/# LOG_LEVEL: DEBUG/LOG_LEVEL: ERROR/g" /opt/jumpserver/config.yml; sed -i "s/# SESSION_EXPIRE_AT_BROWSER_CLOSE: false/SESSION_EXPIRE_AT_BROWSER_CLOSE: true/g" /opt/jumpserver/config.yml; sed -i "s/DB_PASSWORD: /DB_PASSWORD: $DB_PASSWORD/g" /opt/jumpserver/config.yml; fi


5.自动服务

echo -e "\033[31m 5. 启动 JumpServer \033[0m" \
  && systemctl start nginx \
  && cd /opt/jumpserver \
  && ./jms start -d \
  && docker run --name jms_koko -d -p 2222:2222 -p 127.0.0.1:5000:5000 -e CORE_HOST=http://$Server_IP:8080 -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN --restart=always wojiushixiaobai/jms_koko:1.5.6 \
  && docker run --name jms_guacamole -d -p 127.0.0.1:8081:8080 -e JUMPSERVER_SERVER=http://$Server_IP:8080 -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN --restart=always wojiushixiaobai/jms_guacamole:1.5.6 \
  && echo -e "\033[31m 你的数据库密码是 $DB_PASSWORD \033[0m" \
  && echo -e "\033[31m 你的SECRET_KEY是 $SECRET_KEY \033[0m" \
  && echo -e "\033[31m 你的BOOTSTRAP_TOKEN是 $BOOTSTRAP_TOKEN \033[0m" \
  && echo -e "\033[31m 你的服务器IP是 $Server_IP \033[0m" \
  && echo -e "\033[31m 请打开浏览器访问 http://$Server_IP 用户名:admin 密码:admin \033[0m"

CentOS7安装堡垒机JumpServer


6.配置自启

 echo -e "\033[31m 6. 配置自启 \033[0m" \
  && if [ ! -f "/usr/lib/systemd/system/jms.service" ]; then wget -O /usr/lib/systemd/system/jms.service https://demo.jumpserver.org/download/shell/centos/jms.service; chmod 755 /usr/lib/systemd/system/jms.service; systemctl enable jms; fi


本站所有文章均可随意转载,转载时请保留原文链接及作者。

本文链接:https://www.vos.cn/os/404.html

相关文章

虚拟机下Centos7升级内核+安装vmware tools

虚拟机下Centos7升级内核+安装vmware tools

vm下环境,首先安装vmware tools挂载一下toolsmount -t iso9660 /dev/cdrom /mnt复制工具到主目录下cp ...

astkmd.sys造成蓝屏代码0x0000007E

astkmd.sys造成蓝屏代码0x0000007E

给服务器安装显卡驱动,芯片是信驊科技的ASPEED Graphics Famaily,官方下载后,检查里面有WIN2008的驱动,安装完后一直没管,直到下午更新补丁后重启,发现远程一直无法连接,去机房...

WIN10安装Cisco VPN Client v5.0.07.0290.x64

WIN10安装Cisco VPN Client v5.0.07.0290.x64

因为马上要远程做HCIE存贮的LAB实验,需要cisco vpn client,但是工具2014年就终止更新了,win10直接无法安装。需要两个工具Citrix的dneupdate64.msi&nbs...

取消系统关机事件跟踪

取消系统关机事件跟踪

计算机配置--->管理模版--->系统--->"显示关闭事件跟踪程序"打开"关闭事件跟踪程序",设置为已禁用,然后点击确定...

请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理

请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理

WIN7的IIS本机测试,提示HTTP错误 404.17 - Not Found请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理第一反映是.net运行库和IIS并没有关联起来,使用命令修复.n...

IIS7中出现An error occurred on the server when processing the URL

IIS7中出现An error occurred on the server when processing the URL

本地调试asp的网站,IIS提示An error occurred on the server when processing the URL. Please contact the system a...