JumpServer 堡垒机(1)

[root@localhost ~]# tar xf Python-3.6.8.tgz -C /usr/local/src/

在这里插入图片描述

2)配置本地 JumpServer 的 yum

[root@localhost ~]# cat < /etc/yum.repos.d/jumpserver.repo

[JumpServer]

name=CentOS7

baseurl=file:///root/jumpserver-packs

enable=1

gpgcheck=0

END

[root@JumpServer ~]# yum makecache # 建立缓存

3)安装依赖包

[root@localhost ~]# yum -y install gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel openldap-devel sshpass

4)编译安装

[root@localhost ~]# cd /usr/local/src/Python-3.6.8/

[root@localhost Python-3.6.8]# ./configure --prefix=/usr/local/python

[root@localhost Python-3.6.8]# make -j cat /proc/cpuinfo | grep processor | wc -l #根据 CPU 核心数来进行编译

[root@localhost Python-3.6.8]# make install #安装

5)配置软连接优化执行路径

[root@JumpServer ~]# ln -s /usr/local/python/bin/* /usr/local/bin/

[root@JumpServer ~]# python3 -V

Python 3.6.8

[root@JumpServer ~]# pip3 -V

pip 18.1 from /usr/local/python/lib/python3.6/site-packages/pip (python 3.6)

在这里插入图片描述

6)配置 Python 虚拟环境

  • 因为 CentOS 6/7 自带的是 Python2,而 yum 等工具依赖原来的 Python,目的就是为了不扰乱原来的环境。

[root@JumpServer ~]# python3.6 -m venv /opt/py3 # 创建 Py3 虚拟环境

[root@JumpServer ~]# source /opt/py3/bin/activate # 进入 Py3 虚拟环境

(py3) [root@JumpServer ~]# echo “source /opt/py3/bin/activate” >> .bashrc # 加入到开机自启

2.安装 JumpServer


(py3) [root@JumpServer ~]# yum -y install unzip

(py3) [root@JumpServer ~]# unzip jumpserver-master.zip -d /opt/

(py3) [root@JumpServer ~]# mv /opt/jumpserver-master/ /opt/jumpserver

(py3) [root@JumpServer ~]# yum -y install $(cat /opt/jumpserver/requirements/rpm_requirements.txt) # 安装依赖包

1)安装 Python 库

方式一:安装 Python 库(没网)

(py3) [root@JumpServer ~]# pip install --no-index --find-links=/root/pip-packs/ pyasn1 six cffi pytest-runner

(py3) [root@JumpServer ~]# pip install --no-index --find-links=/root/pip-packs/ -r /opt/jumpserver/requirements/requirements.txt

注解:

  • --no-index:忽略包索引(仅仅从 --find-links 的链接地址中去查找包)

  • --find-links <url>:如果指定为 IP 地址,就会从该地址进行查找依赖包并进行下载,如果指定的是本地文件,则直接从本地文件下载。

方式二:安装 Python 库(有网)

(py3) [root@JumpServer ~]# mkdir /root/.pip

(py3) [root@JumpServer ~]# cat < /root/.pip/pip.conf

[global]

index-url = https://pypi.tuna.tsinghua.edu.cn/simple # 指定清华源

[install]

trusted-host=mirrors.aliyun.com

END

(py3) [root@JumpServer ~]# pip install --upgrade pip # 更新 pip

(py3) [root@JumpServer ~]# pip install -r /opt/jumpserver/requirements/requirements.txt

2)安装 Redis

(py3) [root@JumpServer ~]# yum -y install redis

(py3) [root@JumpServer ~]# systemctl start redis

3)安装 MySQL

(py3) [root@JumpServer ~]# yum -y install mariadb mariadb-server mariadb-devel

(py3) [root@JumpServer ~]# systemctl start mariadb

(py3) [root@JumpServer ~]# mysql

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

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

MariaDB [(none)]> flush privileges;

MariaDB [(none)]> exit

4)生成密钥

(py3) [root@JumpServer ~]# cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 49;echo

tmctZBlMSF6TEo02tQL6qWNPDBduJ2dAN2eMO6DRDeGekDVro

(py3) [root@JumpServer ~]# cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16;echo

R9e1h2ZFuf8WDDbi

修改 JumpServer 配置文件

(py3) [root@JumpServer ~]# cd /opt/jumpserver/

(py3) [root@JumpServer jumpserver]# cp config_example.yml config.yml

(py3) [root@JumpServer jumpserver]# vim config.yml

配置密钥

SECRET_KEY: tmctZBlMSF6TEo02tQL6qWNPDBduJ2dAN2eMO6DRDeGekDVro

BOOTSTRAP_TOKEN: R9e1h2ZFuf8WDDbi

数据库设置

DB_ENGINE: mysql

DB_HOST: 127.0.0.1

DB_PORT: 3306

DB_USER: jumpserver

DB_PASSWORD: jumpserver

DB_NAME: jumpserver

Redis配置

REDIS_HOST: 127.0.0.1

REDIS_PORT: 6379

REDIS_PASSWORD:

生成数据库表结构和初始化数据

(py3) [root@JumpServer jumpserver]# cd utils/

(py3) [root@JumpServer utils]# sh make_migrations.sh

5)运行 JumpServer

(py3) [root@JumpServer ~]# vim /usr/lib/systemd/system/jms.service

[Unit]

Description=jms

After=network.target mariadb.service redis.service docker.service

Wants=mariadb.service redis.service docker.service

[Service]

Type=forking

Environment=“PATH=/opt/py3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin”

ExecStart=/opt/jumpserver/jms start all -d

ExecRestart=/opt/jumpserver/jms restart all -d

ExecStop=/opt/jumpserver/jms stop

[Install]

WantedBy=multi-user.target

(py3) [root@JumpServer ~]# systemctl daemon-reload

(py3) [root@JumpServer ~]# systemctl start jms

登录验证:http://192.168.1.1:8080

*斜体样式*

  • 这里只是部署了 JumpServer,没有 Web Terminal,所以访问 Web Terminal(Web Linux 终端)会报错。

3.安装 Web Terminal 组件


(py3) [root@JumpServer ~]# ls

anaconda-ks.cfg koko-master-6d4e69b-linux-amd64.tar.gz …

(py3) [root@JumpServer ~]# tar xf koko-master-6d4e69b-linux-amd64.tar.gz -C /opt/

(py3) [root@JumpServer ~]# chown -R root:root /opt/kokodir/

(py3) [root@JumpServer ~]# cd /opt/kokodir/

(py3) [root@JumpServer kokodir]# cp config_example.yml config.yml

(py3) [root@JumpServer kokodir]# vim config.yml #密钥要跟 JumpServer 密钥一致

BOOTSTRAP_TOKEN: R9e1h2ZFuf8WDDbi

SECRET_KEY: tmctZBlMSF6TEo02tQL6qWNPDBduJ2dAN2eMO6DRDeGekDVro

(py3) [root@JumpServer kokodir]# nohup ./koko & #后台运行

(py3) [root@JumpServer kokodir]# netstat -anpt | egrep ‘2222|5000’

将 KoKo 加入到开启自启

(py3) [root@JumpServer kokodir]# echo “cd /opt/kokodir && nohup ./koko &” >> /etc/rc.local

(py3) [root@JumpServer kokodir]# chmod +x /etc/rc.local

验证:

在这里插入图片描述

  • 有了 Web Terminal 以后,我们便可以远程堡垒机,然后通过堡垒机来登录内部服务器来进行管理。

4.安装 Luna 组件


(py3) [root@JumpServer ~]# ls

anaconda-ks.cfg luna.tar.gz …

(py3) [root@JumpServer ~]# tar xf luna.tar.gz -C /opt/

(py3) [root@JumpServer ~]# chown -R root:root /opt/luna/

5.设置 Nginx 整合各组件


(py3) [root@JumpServer ~]# yum -y install nginx

(py3) [root@JumpServer ~]# vim /etc/nginx/nginx.conf

server {

client_max_body_size 100m; #录像及文件上传大小限制

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/;

proxy_buffering off;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection “upgrade”;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

access_log off;

}

location /coco/ {

proxy_pass http://localhost:5000/coco/;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

access_log off;

}

location / {

proxy_pass http://localhost:8080;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

(py3) [root@JumpServer ~]# nginx -t #检查配置文件是否正确

(py3) [root@JumpServer ~]# systemctl start nginx #启动 Nginx 服务

在这里插入图片描述

登录 JumpServer

在这里插入图片描述

三、JumpServer 使用

==================================================================================

1.配置 JumpServer 基本设置


最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-qXJyJu7U-1714861005133)]

[外链图片转存中…(img-e77cqDQg-1714861005134)]

[外链图片转存中…(img-a89ZPrgn-1714861005134)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 18
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值