Centos7 安装jumpserver
Centos7 安装jumpserver
之前使用跳板机纯粹是因为开发 要看日志太烦了。现在因为域和版本问题 需要重新搭一台,因为好用。
官方地址
https://github.com/jumpserver/jumpserver/wiki
文档里我把虚拟机的ip 都用localhost代替了 自己操作的时候记得修改
官方的docker源应该是没有更新了
参照wiki
systemctl stop iptables.service
systemctl stop firewalld.service
一. 准备Python3和Python虚拟环境
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 Server和Web 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 [email protected]
密码: admin
如果是用在windows下,Xshell terminal登录语法如下
ssh [email protected] 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