JumpServer 安装部署
JumpServer 安装部署
简介:
Jumpserver是一款由python编写, Django开发的开源跳板机/堡垒机系统, 助力互联网企业高效 用户、资产、权限、审计 管理。jumpserver实现了跳板机应有的功能,基于ssh协议来管理,客户端无需安装agent。
特点:
1)完全开源,GPL授权
2)Python编写,容易再次开发
3)实现了跳板机基本功能,身份认证、访问控制、授权、审计 、批量操作等。
4)集成了Ansible,批量命令等
5)支持WebTerminal
6)Bootstrap编写,界面美观
7)自动收集硬件信息
8)录像回放
9)命令搜索
10)实时监控
11)批量上传下载
搭建环境:
系统: CentOS 7 IP: 192.168.244.144 设置 selinux 和防火墙
$ firewall-cmd --zone=public --add-port=80/tcp --permanent # nginx 端口
$ firewall-cmd --zone=public --add-port=2222/tcp --permanent # 用户SSH登录端口
$ firewall-cmd --reload # 重新载入规则
$ sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux
$ export LC_ALL=zh_CN.UTF-8
$ echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf #设置字符集,避免输入输出有问题
一、准备python3和python虚拟环境
$ yum -y install wget gcc epel-release git #安装依赖包
$ yum -y install python36 python36-devel #安装python3.6
建立 python 虚拟环境,因为 CentOS 7 自带的是 Python2,而 Yum 等工具依赖原来的 Python,为了不扰乱原来的环境我们来使用 Python 虚拟环境。
$ cd /opt ;python3.6 -m venv py3
$ source /opt/py3/bin/activate
看到 [root@localhost py3] 提示符代表成功,以后运行 Jumpserver 都要先运行以上 source 命令,以下所有命令均在该虚拟环境中运行(py3)。
为了防止运行 Jumpserver 时忘记载入 Python 虚拟环境导致程序无法运行,使用autoenv。
$ cd /opt ;git clone https://github.com/kennethreitz/autoenv.git
$ echo 'source /opt/autoenv/activate.sh' >> ~/.bashrc
$ source ~/.bashrc
二、安装Jumpserver
1.下载或 Clone 项目
$ cd /opt/ ; git clone https://github.com/jumpserver/jumpserver.git
$ echo "source /opt/py3/bin/activate" > /opt/jumpserver/.env
# 进入 jumpserver 目录时将自动载入 python 虚拟环境
# 首次进入 jumpserver 文件夹会有提示,按 y 即可# Are you sure you want to allow this? (y/N) y
2.安装依赖 RPM 包
$ cd /opt/jumpserver/requirements
$ yum -y install $(cat rpm_requirements.txt) # 如果没有任何报错请继续
3.安装 Python 库依赖
$ pip install --upgrade pip setuptools
$ pip install -r requirements.txt
4.安装 Redis, Jumpserver 使用 Redis 做 cache 和 celery broke
$ yum -y install redis
$ systemctl enable redis
$ systemctl start redis
5.安装 MySQL。本教程使用 Mysql 作为数据库。不使用 Mysql 可以跳过相关 Mysql 安装和配置。
$ yum -y install mariadb mariadb-devel mariadb-server # centos7下安装的是mariadb
$ systemctl enable mariadb
$ systemctl start mariadb
6.创建数据库 Jumpserver 并授权
$ mysql -uroot
> create database jumpserver default charset 'utf8';
> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'weakPassword';
> flush privileges;
> quit
7.修改 Jumpserver 配置文件
$ cd /opt/jumpserver ; cp config_example.py config.py ; vim config.py #修改文本如下配置:
#加密秘钥 生产环境中请修改为随机字符串,请勿外泄
SECRET_KEY = '2vym+ky!997d5kkcc64mnz06y1mmui3lut#(^wd=%s_qj$1%x'
# 预共享Token coco和guacamole用来注册服务账号,不在使用原来的注册接受机制
BOOTSTRAP_TOKEN = 'nwv4RdXpM82LtSvmV'
LOG_LEVEL = 'ERROR'
LOG_DIR = os.path.join(BASE_DIR, 'logs')
# 使用Mysql作为数据库
DB_ENGINE = 'mysql'
DB_HOST = '127.0.0.1'
DB_HOST = '127.0.0.1'
DB_PORT = 3306
DB_USER = 'jumpserver'
DB_PASSWORD = 'weakPassword'
DB_NAME = 'jumpserver'
# 运行时绑定端口
HTTP_BIND_HOST = '0.0.0.0'
HTTP_LISTEN_PORT = 8080
# Redis配置
REDIS_HOST = '127.0.0.1'
REDIS_PORT = 6379
注意: 配置文件是 Python 格式,不要用 TAB,而要用空格
8.运行 Jumpserver
$ cd /opt/jumpserver$ ./jms start all -d # 后台运行使用-d参数 #运行不报错, 请继续往下操作
三、安装 SSH Server 和 WebSocket Server: Coco
1.下载或 Clone 项目
$ cd /opt
$ source /opt/py3/bin/activate
$ git clone https://github.com/jumpserver/coco.git
$ echo "source /opt/py3/bin/activate" > /opt/coco/.env # 进入 coco 目录时将自动载入 python 虚拟环境
# 首次进入 coco 文件夹会有提示,按 y 即可# Are you sure you want to allow this? (y/N) y
2.安装依赖
$ cd /opt/coco/requirements
$ yum -y install $(cat rpm_requirements.txt)
$ pip install -r requirements.txt
3.修改配置文件并运行
$ cd /opt/coco ; mkdir keys logs
$ cp conf_example.py conf.py # 如果 coco 与 jumpserver 分开部署,请手动修改 conf.py
$ vim conf.py #修改文本中如下配置:
CORE_HOST = 'http://127.0.0.1:8080'
BOOTSTRAP_TOKEN = "nwv4RdXpM82LtSvmV"
LOG_LEVEL = 'ERROR'
$ ./cocod start -d # 在后台运行coco
四、安装 Web Terminal 前端: Luna
1.安装 Web Terminal 前端: Luna
$ cd /opt$ wget https://github.com/jumpserver/luna/releases/download/1.4.6/luna.tar.gz$ tar xf luna.tar.gz$ chown -R root:root luna
五、配置 Nginx 整合各组件
1.安装 Nginx (安装过nginx就不用安了,直接修改配置文件即可)
$ vi /etc/yum.repos.d/nginx.repo[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/7/$basearch/gpgcheck=0enabled=1$ yum install -y nginx$ rm -rf /etc/nginx/conf.d/default.conf$ systemctl enable nginx
2.修改 /etc/nginx/conf.d/jumpserver.conf
$ vi /etc/nginx/conf.d/jumpserver.confserver {
listen 80; # 代理端口,以后将通过此端口进行访问,不再通过8080端口
# server_name demo.jumpserver.org; # 修改成你的域名或者注释掉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 ###如果代理访问到的是502网关错误,把localhost改成具体的ip,如127.0.0.1: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;
}}
3.运行 Nginx
nginx -t # 确保配置没有问题, 有问题请先解决$ systemctl start nginx$ systemctl enable nginx
4.开始使用 Jumpserver
检查应用是否已经正常运行,服务全部启动后,访问 http://192.168.244.144,访问nginx代理的端口,不要再通过8080端口访问。默认账号: admin 密码: admin
5.测试连接
如果登录客户端是 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
如果能登陆代表部署成功。
### 运行此此软件需要开启nginx redis mysql jumpserver coco
### 源码安装的redis开启的命令是 redis-server /usr/local/bin/redis.conf
### jumpserver开启命令是 cd /opt/jumpserver/ ./jms start all -d
### coco的开启命令是 cd /opt/coco/ ./cocod start -d
以上。
请访问个人网站 --------->> https://www.wzstyle.cn/?p=292
JumpServer 安装部署相关推荐
- jump-server 安装部署
配置清单 主机名称 IP地址 最低配置 软件名称 版本 jump-server 192.168. ...
- jumpserver安装部署
1.docker及docker-compose安装部署 2.拉去gitlab源码包 gitlab地址 [root@ip-172-93-12-106 data]# git clone https://g ...
- centos8 ssh配置_JumpServer 堡垒机CentOS 8 安装部署(四)
JumpServer简介 Jumpserver是一款由python编写, Django开发的开源跳板机/堡垒机系统, 助力互联网企业高效 用户.资产.权限.审计 管理.jumpserver实现了跳板机 ...
- 企业级Jumpserver的部署与使用-行癫亲测
硬件硬件配置: 1个CPU核心, 3G 内存, 50G 硬盘(最低) 操作系统: Linux 发行版 x86_64 centos 7 Python = 3.6.x Mariadb Server ≥ 5 ...
- Jumpserver安装和测试连接
JumpServer安装和部署 一.引言 在特定网络环境中(如内网和外网),为了保证公司网络中的服务器数据不受外界的入侵和破坏,运用各种技术手段收集和监控公司服务器的状态,安全时间.以便集中报警,并且 ...
- 开源堡垒机Jumpserver安装
测试环境Centos7.7: [root@magic ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) 安装目录: / ...
- Jumpserver一键部署v2.21.3
Jumpserver一键部署 部署条件 新装CentOS7,关闭防火墙和SELinux,部署完成后再开启防火墙 CPU最少2核 内存最少4G [root@localhost ~]# cat /etc/ ...
- jumpserver 节点部署_Jumpserver部署
34.1.2 部署Jumpserver运行环境 实验环境: 机器A.cn IP : 192.168.177.251 jumpserver服务端 机器B.cn IP:192.168.177.143 ...
- jumpserver安装使用
jumpserver安装 安装文档https://docs.jumpserver.org/zh/master/install/setup_by_fast/ [root@vm ~]# cd /opt [ ...
最新文章
- boost::smart_ptr模块智能指针测试程序
- mysql常用函数 [转]
- P6327 区间加区间sin和 线段树 + 数学
- ICLR 审稿人:这篇论文在标签平滑和知识蒸馏的关系上取得了重大突破!
- html 中电话号码的使用
- Java中String直接赋字符串和new String的区别,intern的作用
- 考研准考证下载方式【当无法下载或者找到地址时】
- 3dmax2021渲染器下载安装教程VRay4.3渲染器下载安装教程
- FreeCAD源码分析:Sketcher模块
- Youtube视频加字幕需要的软件电脑版+手机版 2020语音视频自动生成字幕软件
- 布尔运算(Boolean Operators)
- 二维码的生成细节和原理源码
- 黑金xlinix FPGA学习笔记(一)verilogHDL扫盲文-(2)
- REST Assured 2 - 用IDEA创建一个基本的REST Assured Maven项目
- ffmpeg为视频添加特效
- java+ElementUI前后端分离旅游项目第三天 预约管理
- 40岁前的男人必看的文章!共勉!
- Linux内核MTD子系统七之Flash 存储器接口标准:CFI和JEDEC
- matlab 系统辨识工具箱三分钟入手
- vueuse(函数库)的基本使用,宝藏神器,务必收藏
热门文章
- HIVE厂牌艺人_说唱厂牌 Vol.2:洛杉矶天才厂牌Odd Future Records的开始到结束
- 多语言笔记系列:开篇 Polyglot Notebooks 概要与使用
- 换道超车,新潮传媒的“新物种”嬗变之路
- 基础Java练习08:由卡号计算幸运数字
- 不是会计专业的大学生 ,如何自学会计?
- JMeter安装图文及入门教程
- 使用vtwinfx插件时fcpx意外退出_FCPX插件 60个自媒体文字标题字幕条Motion Graphics Pack...
- 全球及中国氟代碳酸乙烯酯行业市场运营现状与投资前景规划分析报告2022-2028年
- 四舍五入保留一位小数
- 在做Facebook广告需要注意哪些问题呢?Facebook广告投放的流程