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. 11g GI监听测试增加其他本地端口

    11.2 GI中监听器的地址和端口信息被移到了 endpoints_listener.ora中. 使用 endpoints_listener.ora的情况下不应使用lsnrctl管理LISTENER, ...

  2. .NET微服务系列之Saga分布式事务案例实践

    自从Wing正式发布以后,很多童鞋反馈对Saga分布式事务比较感兴趣,今天就跟大家分享一下"跨行转账"的分布式事务实践案例,入门使用教程请自行前往Wing官方文档. 假设自己名下有 ...

  3. Dubbo 路由及负载均衡性能优化

    作者:vivo 互联网中间件团队- Wang Xiaochuang 本文主要介绍在vivo内部针对Dubbo路由模块及负载均衡的一些优化手段,主要是异步化+缓存,可减少在RPC调用过程中路由及负载均衡 ...

  4. Idea单窗口导入多个项目模块

    现在我们比较流行微服务,但是服务一旦多了,项目打开也是很麻烦的,运行内存16个G的电脑,基本上打开4,5个项目模块就顶不住了.那么,我们怎么把多个项目导入到一个idea窗口中呢? 实现效果 导入步骤 ...

  5. 面试官:SOA 和微服务的区别?这回终于搞清楚了!

    https://developer.aliyun.com/article/839526 简介: 如果我们打开支付宝首页,去看我们的余额,它会展示你的总资产,昨日收益.累计收益等信息.假如这个页面所展示 ...

  6. 创造力的起源《The Origins of Creativity》

    接近创造力 创造力是对原创的追求,其动力是人类对于新奇事物的钟爱. 了解创造力需要三个层次的思考. 1.What(如何定义这种现象) 2.Question(发问,他是如何出现的,导致其出现的最初原因是 ...

  7. BABYRE

    一道SMC,第一次做 主函数的伪代码,judge函数是关键函数,不过啥都没有 发现 judge 方法是判断的主要逻辑,在第 15 行时调用判断. 但是静态分析时不能生成 judge 的伪代码. 原因是 ...

  8. 企业微信获取code

    String url="https://open.weixin.qq.com/connect/oauth2/authorize?appid="+AuthUtil.APPID   + ...

  9. SimpleDateFormat线程安全性

    SimpleDateFormat线程安全性 0 结论 SimpleDateFormat是线程不安全的. 在JDK中关于SimpleDateFormat有这样一段描述: Date formats are ...

  10. 你知道Spring中BeanFactoryPostProcessors是如何执行的吗?

    Spring中的BeanFactoryPostProcessor是在Spring容器实例化Bean之后,初始化之前执行的一个扩展机制.它允许开发者在Bean的实例化和初始化之前对BeanDefinit ...