Centos7 安装jumpserver

版权声明:仅供学习参考 转载请标明出处。 https://blog.csdn.net/xujiamin0022016/article/details/82659075

Centos7 安装jumpserver

之前使用跳板机纯粹是因为开发 要看日志太烦了。现在因为域和版本问题 需要重新搭一台,因为好用。

官方地址

https://github.com/jumpserver/jumpserver/wiki

文档里我把虚拟机的ip 都用localhost代替了 自己操作的时候记得修改

 

官方的docker源应该是没有更新了

 

参照wiki

systemctl stop iptables.service

systemctl stop firewalld.service

. 准备Python3Python虚拟环境

1.1 安装依赖

 

yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release

 

1.2 编译安

wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz

tar xvf Python-3.6.1.tar.xz  && cd Python-3.6.1

./configure && make && make install

 

 

 

1.3 建立python虚拟环

cd /opt

python3 -m venv py3

source /opt/py3/bin/activate

以下操作均是在py3环境下进行的

. 安装Jumpserver Version 1.4.1-2 GPLv2.

2.1 下载或clone项

cd /opt/

git clone --depth=1 https://github.com/jumpserver/jumpserver.git && cd jumpserver && git checkout dev

 

2.2 安装依赖rpm

cd /opt/jumpserver/requirements

yum -y install $(cat rpm_requirements.txt)  # 如果没有任何报错请继续

 

2.3 安装python库依

pip install -r requirements.txt 

如果有报错或者速度慢可以试着

pip install -i  https://pypi.douban.com/simple -r requirements.txt

 

2.4 安装Redis, jumpserver使用redis做cache和celery broker

yum -y install redis

service redis start

chkconfig  redis on

2.5 安装MySQL

wiki教程使用mysql作为数据库,如果不使用mysql可以跳过相关mysql安装和配置

 

yum -y install mariadb mariadb-devel mariadb-server

service mariadb start

chkconfig  mariadb on

 

2.6 创建数据库 jumpserver并授

登录mysql 执行

> create database jumpserver default charset 'utf8';

> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'somepassword';

 

2.7 修改jumpserver配置文件

cd /opt/jumpserver

cp config_example.py config.py

vi config.py  # 我们计划修改 DevelopmentConfig中的配置,因为默认jumpserver是使用该配置,它继承自Config

 

注意: 配置文件是python格式,不要用tab,而要用空格 注意: 配置文件是python格式,不要用tab,而要用空格 注意: 配置文件是python格式,不要用tab,而要用空格

新增一行

class DevelopmentConfig(Config):

    DEBUG = True

    DB_ENGINE = 'mysql'

    DB_HOST = '127.0.0.1'

    DB_PORT = 3306

    DB_USER = 'jumpserver'

    DB_PASSWORD = 'somepassword'

    DB_NAME = 'jumpserver'

   

...

 

config = DevelopmentConfig()  # 确保使用的是刚才设置的配置文件

 

 

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

cd /opt/jumpserver/utils

bash make_migrations.sh

2.9 运行Jumpserver

cd /opt/jumpserver

python run_server.py all

运行不报错,请浏览器访问 http://localhost:8080/ (这里只是jumpserver, 没有web terminal,所以访问web terminal会报错) 账号: admin 密码: admin

 

这边还没有用nginx  会出现样式问题

 

. 安装 SSH ServerWeb Socket Server: Coco

3.1 下载clone项目

新开一个终端,连接测试机,别忘了 source /opt/py3/bin/activate

cd /opt

git clone https://github.com/jumpserver/coco.git && cd coco && git checkout dev

3.2 安装依赖

cd /opt/coco/requirements

yum -y  install $(cat rpm_requirements.txt)

pip install -r requirements.txt

3.3 查看配置文件并运行

cd /opt/coco

cp conf_example.py conf.py

python run_server.py

 

这时需要去 jumpserver管理后台-终端-终端(http://192.168.244.144:8080/terminal/terminal/)接受coco的注册

注册成功

3.4 测试连接

ssh -p2222 admin@localhost

密码: admin

 

如果是用在windows下,Xshell terminal登录语法如下

ssh admin@localhost 2222

密码: admin

如果能登陆代表部署成功

 

 

 

. 安装 Web Terminal 前端: Luna

Luna已改为纯前端,需要nginx来运行访问

下载 release包,直接解压,不需要编译

访问 https://github.com/jumpserver/luna/releases,下载对应release包

不过好像404  百度一下 下一个就行

4.1 解压luna

pwd

/opt/

 

tar xvf luna.tar.gz

ls /opt/luna

 

. 安装Windows支持组

使用docker启动 guacamole

docker run -d \

  -p 8081:8080 \

  -e JUMPSERVER_SERVER=http://<jumpserver>:8080 \

  jumpserver/guacamole

这里所需要注意的是guacamole暴露出来的端口是8080,若与jumpserver部署在同一主机上自定义一下。

修改JUMPSERVER_SERVER的配置,填上jumpserver的内网地址

我用的8081

. 配置 nginx 整合各组

6.1 安装nginx 根据喜好选择安装方式和版本

6.2 配置文件

server {

    listen 80;

 

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

        proxy_set_header Upgrade $http_upgrade;

        proxy_set_header Connection "upgrade";

    }

 

    location /guacamole/ {

        proxy_pass http://localhost:8081/;

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

        access_log off;

    }

 

    location / {

        proxy_pass http://localhost:8080;

    }

}

6.3 运行 nginx

6.4 访问 http://localhost

 

. 更新

1升级 jumpserver

进入py3

cd /opt

python3 -m venv py3

source /opt/py3/bin/activate

cd /opt/jumpserver/

git pull && pip install -r requirements/requirements.txt && cd utils && sh make_migrations.sh

更新完重启一下就可以

2升级 coco

进入py3

cd /opt

python3 -m venv py3

source /opt/py3/bin/activate

cd /opt/coco

git pull && cd requirements && pip install -r requirements.txt   # 不要指定 -i参数

3升级 luna

重新下载release包

 

 

加域LDAP

 

用域账号登录

 

 

 

 

 

 

用户和资产操作  之后补充或者参考官网wiki

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/xujiamin0022016/article/details/82659075