Lina部署

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

luna

cd /opt
wget https://github.com/jumpserver/luna/releases/download/v2.28.7/luna-v2.28.7.tar.gz
tar -xf luna-v2.28.7.tar.gz

KOKO

运行jumpserver还需要部署koko服务(基于GO语言开发的SSH客户端),KOKO是使用Go语言重新开发的Unix资产连接组件,与之前使用的Coco(即基于Python语看开发的SSH客户端)相比,Koko支持多线程,性能更强,且负载更低。

cd /opt
wget https://download.jumpserver.org/public/kubectl-linux-amd64.tar.gz -O kubectl.tar.gz
tar -xf kubectl.tar.gz
mv kubectl /usr/local/bin/rawkubectl
wget https://download.jumpserver.org/public/helm-v3.9.0-linux-amd64.tar.gz
tar -xf helm-v3.9.0-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/rawhelm
chmod 755 /usr/local/bin/rawkubectl /usr/local/bin/rawhelm
chown root:root /usr/local/bin/rawkubectl /usr/local/bin/rawhelm
rm -rf linux-amd64
wget https://github.com/jumpserver/koko/releases/download/v2.28.7/koko-v2.28.7-linux-amd64.tar.gz
tar -xf koko-v2.28.7-linux-amd64.tar.gz -C /opt
cd koko-v2.28.7-linux-amd64
mv kubectl /usr/local/bin/kubectl

修改配置文件

cp config_example.yml config.yml
vi config.yml
# 项目名称, 会用来向Jumpserver注册, 识别而已, 不能重复
# NAME: {{ Hostname }} # Jumpserver项目的url, api请求注册会使用
CORE_HOST: http://127.0.0.1:8080 # Core 的地址 # Bootstrap Token, 预共享秘钥, 用来注册coco使用的service account和terminal
# 请和jumpserver 配置文件中保持一致,注册完成后可以删除
BOOTSTRAP_TOKEN: ******** # 和 Core config.yml 的值保持一致 # 启动时绑定的ip, 默认 0.0.0.0
BIND_HOST: 0.0.0.0 # 监听的SSH端口号, 默认2222
SSHD_PORT: 2222 # 使用 0.0.0.0:2222 # 监听的HTTP/WS端口号,默认5000
HTTPD_PORT: 5000 # 使用 0.0.0.0:5000 # 项目使用的ACCESS KEY, 默认会注册,并保存到 ACCESS_KEY_STORE中,
# 如果有需求, 可以写到配置文件中, 格式 access_key_id:access_key_secret
# ACCESS_KEY: null # ACCESS KEY 保存的地址, 默认注册后会保存到该文件中
# ACCESS_KEY_FILE: data/keys/.access_key # 设置日志级别 [DEBUG, INFO, WARN, ERROR, FATAL, CRITICAL]
LOG_LEVEL: DEBUG # 开发建议设置 DEBUG, 生产环境推荐使用 ERROR # SSH连接超时时间 (default 15 seconds)
# SSH_TIMEOUT: 15 # 语言 [en,zh]
# LANGUAGE_CODE: zh # SFTP的根目录, 可选 /tmp, Home其他自定义目录
# SFTP_ROOT: /tmp # SFTP是否显示隐藏文件
# SFTP_SHOW_HIDDEN_FILE: false # 是否复用和用户后端资产已建立的连接(用户不会复用其他用户的连接)
# REUSE_CONNECTION: true # 资产加载策略, 可根据资产规模自行调整. 默认异步加载资产, 异步搜索分页; 如果为all, 则资产全部加载, 本地搜索分页.
# ASSET_LOAD_POLICY: # zip压缩的最大额度 (单位: M)
# ZIP_MAX_SIZE: 1024M # zip压缩存放的临时目录 /tmp
# ZIP_TMP_PATH: /tmp # 向 SSH Client 连接发送心跳的时间间隔 (单位: 秒),默认为30, 0则表示不发送
# CLIENT_ALIVE_INTERVAL: 30 # 向资产发送心跳包的重试次数,默认为3
# RETRY_ALIVE_COUNT_MAX: 3 # 会话共享使用的类型 [local, redis], 默认local
# SHARE_ROOM_TYPE: local # Redis配置
# REDIS_HOST: 127.0.0.1 # 如果需要部署多个 koko, 需要通过 redis 来保持会话
# REDIS_PORT: 6379
# REDIS_PASSWORD:
# REDIS_CLUSTERS:
# REDIS_DB_ROOM:

启动 KoKo

./koko 后台运行可以加 -d,

./koko -d

Lion

Lion 使用了 Apache 软件基金会的开源项目 Guacamole,JumpServer 使用 Golang 和 Vue 重构了 Guacamole 实现 RDP/VNC 协议跳板机功能。

mkdir /opt/guacamole-v2.28.7
cd /opt/guacamole-v2.28.7
wget http://download.jumpserver.org/public/guacamole-server-1.4.0.tar.gz
tar -xzf guacamole-server-1.4.0.tar.gz
cd guacamole-server-1.4.0/
#安装环境依赖
yum install libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev
yum install libavcodec-dev libavformat-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev libwebsockets-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev yum -y install cairo-devel libjpeg-devel libpng-devel uuid-devel

构建 Guacd

./configure --with-init-dir=/etc/init.d
#如果希望使用 systemd 管理, 可以使用 ./configure --with-systemd-dir=/etc/systemd/system/
make
make install
ldconfig

下载 Lion

cd /opt
wget https://github.com/jumpserver/lion-release/releases/download/v2.28.7/lion-v2.28.7-linux-amd64.tar.gz
tar -xf lion-v2.28.7-linux-amd64.tar.gz
cd lion-v2.28.7-linux-amd64

修改配置文件

cp config_example.yml config.yml
vi config.yml
# 项目名称, 会用来向Jumpserver注册, 识别而已, 不能重复
# NAME: {{ Hostname }} # Jumpserver项目的url, api请求注册会使用
CORE_HOST: http://127.0.0.1:8080 # Core 的地址 # Bootstrap Token, 预共享秘钥, 用来注册使用的service account和terminal
# 请和jumpserver 配置文件中保持一致,注册完成后可以删除
BOOTSTRAP_TOKEN: ******** # 和 Core config.yml 的值保持一致 # 启动时绑定的ip, 默认 0.0.0.0
BIND_HOST: 0.0.0.0 # 监听的HTTP/WS端口号,默认8081
HTTPD_PORT: 8081 # 设置日志级别 [DEBUG, INFO, WARN, ERROR, FATAL, CRITICAL]
LOG_LEVEL: DEBUG # 开发建议设置 DEBUG, 生产环境推荐使用 ERROR # Guacamole Server ip,默认127.0.0.1
# GUA_HOST: 127.0.0.1 # Guacamole Server 端口号,默认4822
# GUA_PORT: 4822 # 会话共享使用的类型 [local, redis], 默认local
# SHARE_ROOM_TYPE: local # Redis配置
# REDIS_HOST: 127.0.0.1
# REDIS_PORT: 6379
# REDIS_PASSWORD:
# REDIS_DB_ROOM:

启动 Guacd

/etc/init.d/guacd start

启动 Lion

./lion

Magnus

解压缩包

cd /opt
wget https://github.com/jumpserver/magnus-release/releases/download/v2.28.7/magnus-v2.28.7-linux-amd64.tar.gz
tar -xf magnus-v2.28.7-linux-amd64.tar.gz
cd magnus-v2.28.7-linux-amd64
wget https://github.com/jumpserver/wisp/releases/download/v0.0.10/wisp-v0.0.10-linux-amd64.tar.gz
tar -xf wisp-v0.0.10-linux-amd64.tar.gz
mv wisp-v0.0.10-linux-amd64/wisp /usr/local/bin/
chown root:root /usr/local/bin/wisp /opt/magnus-v2.28.7-linux-amd64/magnus
chmod 755 /usr/local/bin/wisp /opt/magnus-v2.28.7-linux-amd64/magnus

修改配置文件

cp config_example.yml config.yml
vi config.yml
# Jumpserver项目的url, api请求注册会使用
CORE_HOST: http://127.0.0.1:8080 # Core 的地址 # Bootstrap Token, 预共享秘钥, 用来注册使用的service account和terminal
# 请和jumpserver 配置文件中保持一致,注册完成后可以删除
BOOTSTRAP_TOKEN: ******** # 和 Core config.yml 的值保持一致 # 服务 bind 地址
BIND_HOST: "0.0.0.0" # 数据库代理暴露的端口
MYSQL_PORT: 33060
MARIA_DB_PORT: 33061
POSTGRESQL_PORT: 54320 # 日志级别
LOG_LEVEL: "info" # jumpserver api grpc 组件地址
WISP_HOST: "localhost"
WISP_PORT: 9090

启动 Wisp

export CORE_HOST="http://127.0.0.1:8080"   # Core 的地址
export BOOTSTRAP_TOKEN=******** # 和 Core config.yml 的值保持一致
export WORK_DIR="/opt/magnus-v2.28.7-linux-amd64"
export COMPONENT_NAME="magnus"
export EXECUTE_PROGRAM="/opt/magnus-v2.28.7-linux-amd64/magnus"
wisp

Nginx

nginx -v
nginx version: nginx/1.20.2
server {
listen 80;
# server_name _; client_max_body_size 5000m; 文件大小限制 # 前端 Lina
location /ui/ {
try_files $uri / /index.html;
alias /opt/lina-v2.28.7/;
expires 24h;
} # Luna 配置
location /luna/ {
try_files $uri / /index.html;
alias /opt/luna-v2.28.7/;
expires 24h;
} # Core data 静态资源
location /media/replay/ {
add_header Content-Encoding gzip;
root /opt/jumpserver-v2.28.7/data/;
} location /media/ {
root /opt/jumpserver-v2.28.7/data/;
} location /static/ {
root /opt/jumpserver-v2.28.7/data/;
expires 24h;
} # KoKo Lion 配置
location /koko/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:5000;
proxy_pass http://koko:5000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
} # lion 配置
location /lion/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:8081;
proxy_pass http://lion:8081;
proxy_buffering off;
proxy_request_buffering off;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_ignore_client_abort on;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 6000;
} # Core 配置
location /ws/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:8070;
proxy_pass http://core:8070;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
} location /api/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:8080;
proxy_pass http://core: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;
} location /core/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:8080;
proxy_pass http://core: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;
} location / {
rewrite ^/(.*)$ /ui/$1 last;
}
}

修改host文件,加入core lina lion koko luna等

[root@server01 /tmp]#vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 lina luna koko core lion magnus wisp
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.0.0.80 lina luna koko core lion magnus wisp
~
nginx -t
nginx -s reload

登录堡垒机,默认密码admin admin

首次登录需要修改

admin
admin

Nginx官方文档
https://docs.nginx.com/

部署堡垒机6——配置Nginx及其他组件的更多相关文章

  1. 网站整套部署方案-负载均衡配置Nginx+宝塔+云数据库+云WAF

    这是一套部署特别方便的站点方案,包括使用nginx负载均衡,宝塔部署站点,云数据库加一套安全产品云WAF. 一.结构图 1.基本功能 负载均衡,WEB,数据库都是在一个云平台上,内网都属于一个vpc二 ...

  2. vue 打包部署到服务器上 配置nginx访问

    坑一 css,js资源引入不正确 webpack配置文件config/index.js 需要更改: 方法一 当部署到带有文件夹的项目中,这种绝对路径就会出现问题,因为把配置的static文件夹当成了根 ...

  3. CentOS 7 搭建Jumpserver跳板机(堡垒机)

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

  4. jumpserver开源堡垒机部署安装

    0x01.前言 Jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的专业运维审计系统. Jumpserver 使用 Python / Djang ...

  5. jumpserver堡垒机(2.4)部署

    jumpserver 2.4.0 部署 jumpserver 官网: https://www.jumpserver.org/ Jumpserver介绍 JumpServer 是全球首款完全开源的堡垒机 ...

  6. CentOS安装部署jumperserver(堡垒机)

    可以参考官方的文档:http://docs.jumpserver.org/zh/docs/introduce.html 测试环境 系统: CentOS 7 IP: 192.168.244.144 设置 ...

  7. Jumpserver堡垒机搭建

    系统: CentOS 7 IP: 192.168.11.199关闭 selinux 和防火墙 # setenforce # 临时关闭,重启后失效 # systemctl stop firewalld. ...

  8. 开源跳板机(堡垒机)系统 Jumpserver安装教程(带图文)

    环境 系统: CentOS 7 IP: 192.168.244.144 关闭 selinux 和防火墙 # CentOS 7 $ setenforce 0 # 可以设置配置文件永久关闭 $ syste ...

  9. 搭建jumperserver堡垒机管理万台服务器-2

    搭建jumperserver堡垒机管理万台服务器-2 1  Jumpserver堡垒机概述-部署Jumpserver运行环境 2  安装Coco组件 3  安装Web-Terminal前端-Luna组 ...

  10. 搭建jumperserver堡垒机管理万台服务器-1

    搭建jumperserver堡垒机管理万台服务器-1 1  Jumpserver堡垒机概述-部署Jumpserver运行环境 2  安装Coco组件 3  安装Web-Terminal前端-Luna组 ...

随机推荐

  1. Ionic 整合 pixi.js

    最近做了个app,上线google play不大顺利,说是有假冒行为,然后改了下icon和名字以及描述,但是没啥信息去上,于是暂时放下搞点别的. 因为近期看到个比较有趣的绘图创意, 于是想通过ioni ...

  2. Gradle 设置全局镜像源

    复制 init.gradle.kts 文件到 Windows 的 %USERPROFILE%/.gradle 或者 Linux 的 ~/.gradle 目录下.也可以直接复制文末的代码为 init.g ...

  3. Go结构体深度探索:从基础到应用

    在Go语言中,结构体是核心的数据组织工具,提供了灵活的手段来处理复杂数据.本文深入探讨了结构体的定义.类型.字面量表示和使用方法,旨在为读者呈现Go结构体的全面视角.通过结构体,开发者可以实现更加模块 ...

  4. Markdown · Typora | 基本画图技巧

    如果想画一些简单的状态图,可以使用 typora 自带的 mermaid 工具. (mermaid 不止能画简单的状态图,还能画流程图等,详见参考资料) 定义节点 可以定义不同形状的节点,并为节点添加 ...

  5. oracle数据库性能监控常用sql

    因执行时间较长建议使用plsql等第三方工具执行 --1.监控sga内存分配信息select * from v$sgainfo;--2.监控每个用户的磁盘io及io命中率select v$sess_i ...

  6. Insert a scratch project into a ppt (MSPowerPoinT file)在powerpoint中播放Scratch动画

    Insert a scratch project into a ppt (MSPowerPoinT file)在powerpoint中播放Scratch动画 Contributed by liu pe ...

  7. 一行代码搞定 font-size 响应式

    前言 公司要做大屏,但是大屏还要有个嵌在系统的版本,屏幕(iframe)小了但字体大了怎么办.网上找了很多代码都很长,个人参考了资料后实现了一个一行代码 font-size 响应式. TL;DR ht ...

  8. 《流畅的Python》 读书笔记 第二章数据结构(2) 231011

    2.5 对序列使用+和* 通常 + 号两侧的序列由相同类型的数据所构成,在拼接的过程中,两个被操作的序列都不会被修改,Python 会新建一个包含同样类型数据的序列来作为拼接的结果 +和*都遵循这个规 ...

  9. Python - 读取CSV文件发现有重复数据,如何清洗以及保存为CSV文件,这里有完整的过程!!!! 片尾有彩蛋

    语言:Python 功能: 1.清洗CSV文件中重复数据. 2.保存为CSV文件 大体流程: 1.首先观察CSV文件中的数据布局格式如何? 2.通过csv包读取数据.并根据规则使用continue,来 ...

  10. buu pwn wp(持续更新)

    1.warmup_csaw_2016 main函数如下 __int64 __fastcall main(int a1, char **a2, char **a3) { char s[64]; // [ ...