「Jumpserver」- 安装(1.4.9-2)

  CREATE BY JENKINSBOT
原文链接:「Jumpserver」- 安装(1.4.9-2)
文章分类:「Software_Engineering:01.IT_Asset_Management:Jumpserver:2.Installing_and_Upgrading:Installing_Jumpserver_1.4.9-2」
文章标识:「7acb7bf9」

该笔记仅简单梳理部署流程,还涉及安装过程中要注意的一些问题,详细可以参考官方 Jumpserver 文档 手册。

系统环境

属性 参数
操作系统: CentOS Linux release 7.4.1708 (Core)
Jumpserver: 1.4.9-2

详细安装过程参考官方「一体化部署文档(基于CentOS 7)」手册。

注意事项

部分部署命令需要访问国外资源,可能会失败,可以按照手册的建议换成国内源。

由于部分资源可能无法访问(404),因此建议依序执行部署命令。

安装步骤概览

一. 准备 Python3 和 Python 虚拟环境

1.1 安装依赖包
1.2 安装 Python3.6
1.3 建立 Python 虚拟环境

二. 安装 Jumpserver

2.1 下载或 Clone 项目
2.2 安装依赖 RPM 包
2.3 安装 Python 库依赖
2.4 安装 Redis(Jumpserver 使用 Redis 做 cache 和 celery broke)
2.5 安装 MySQL
2.6 创建数据库 Jumpserver 并授权
2.7 修改 Jumpserver 配置文件
2.8 运行 Jumpserver

三. 安装 SSH Server 和 WebSocket Server: Coco

3.1 下载或 Clone 项目
3.2 安装依赖
3.3 修改配置文件并运行

四. 安装 Web Terminal 前端: Luna

4.1 解压 Luna

五. 安装 Windows 支持组件(如果不需要管理 windows 资产, 可以直接跳过这一步)

5.1 安装依赖
5.2 编译安装 guacamole 服务
5.3 配置 Tomcat
5.4 配置环境变量
5.5 启动 Guacamole

六. 配置 Nginx 整合各组件

6.1 安装 Nginx
6.2 准备配置文件 修改 /etc/nginx/conf.d/jumpserver.conf

server {
    listen 80;  # 代理端口, 以后将通过此端口进行访问, 不再通过8080端口
    server_name jumpserver.example.com;  # 修改成你的域名或者注释掉                   

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

    location /luna/ {
        try_files $uri / /index.html;
        alias /opt/luna/;  # 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/;  # 如果coco安装在别的服务器, 请填写它的ip
        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/;  # 如果coco安装在别的服务器, 请填写它的ip
        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 /guacamole/ {
        proxy_pass       http://localhost:8081/;  # 如果guacamole安装在别的服务器, 请填写它的ip
        proxy_buffering off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $http_connection;
        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;  # 如果jumpserver安装在别的服务器, 请填写它的ip
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

6.3 运行 Nginx
6.4 开始使用 Jumpserver

测试连接:

#!/bin/sh

# 如果登录客户端是 macOS 或 Linux, 登录语法如下
ssh -p2222 admin@192.168.244.144
sftp -P2222 admin@192.168.244.144
# 密码: admin

# 如果登录客户端是 Windows, Xshell Terminal 登录语法如下
ssh admin@192.168.244.144 2222
sftp admin@192.168.244.144 2222
# 密码: admin
# 如果能登陆代表部署成功

# sftp默认上传的位置在资产的 /tmp 目录下
# windows拖拽上传的位置在资产的 Guacamole RDP上的 G 目录下

## 需要启动的服务

#!/bin/sh

################################################################################
# 基本服务
################################################################################
systemctl enable redis
systemctl start redis

systemctl enable mariadb
systemctl start mariadb

systemctl enable nginx
systemctl start nginx

################################################################################
# 启动Jumpserver服务
# 注意,依序执行如下命令
################################################################################
# 虚拟环境
source /opt/py3/bin/activate

# 启动JumpServer
cd /opt/jumpserver
./jms start all -d  # 后台运行使用 -d 参数./jms start all -d

# 启动cocod服务,提供SSH/SFTP功能
cd /opt/coco
./cocod start -d  # 后台运行使用 -d 参数./cocod start -d

# 启动Guacamole服务,提供远程桌面(RDP、VNC)功能
/etc/init.d/guacd start
sh /config/tomcat8/bin/startup.sh

忘记密码

#!/bin/sh

# 新建超级用户的命令如下命令
python manage.py createsuperuser --username=user --email=user@domain.com

# 管理密码忘记了或者重置管理员密码
python manage.py changepassword admin

相关链接

标题 地址
官方站点: http://www.jumpserver.org
项目地址: https://github.com/jumpserver/jumpserver
官方手册: https://docs.jumpserver.org/zh/master/index.html

参考文献