jumpserver手动安装_jumpserver使用教程
chenpack 2025-06-07 05:00 49 浏览 0 评论
什么是堡垒机
大家好,我是星哥,今天我以前来认识堡垒机
堡垒机(Bastion Host),也称为跳板机(Jump Server),是指在计算机网络中,作为一个中介的安全服务器,它位于内外网之间,主要用于集中管理和审计远程访问企业内部重要系统的操作。堡垒机通过严格的访问控制、日志审计和身份认证等手段,确保只有授权用户可以通过它访问企业内部的敏感服务器,并对访问过程进行全面监控。
堡垒机可以有效地降低内部系统暴露在公网中的风险,成为防止外部攻击和内部滥用的重要安全防线。
未添加堡垒机,如下图
image-
使用堡垒机,如下图
image-
堡垒机的优点
增强安全性:堡垒机可以作为一道额外的防线,保护服务器免受直接连接的风险。只有堡垒机可以直接与服务器通信,从而减少了服务器直接暴露在公共网络中的风险。
严格的权限控制:堡垒机可以充当访问控制的关口,只有经过授权的用户才能连接到目标服务器。管理员可以在堡垒机上配置严格的访问规则,确保只有合适的人员可以访问目标服务器。
跟踪访问日志:堡垒机通常会记录连接和操作日志,这使得可以跟踪谁连接了服务器以及他们执行了哪些操作。这对于审计和安全审查非常重要。
集中管理:堡垒机提供了一个集中的访问点,管理员可以在这里管理所有对服务器的访问。这使得在一个地方控制访问权限和监控访问活动变得更加方便。
什么是JumpServer
JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpServer 帮助企业以更安全的方式管控和登录所有类型的资产,实现事前授权、事中监察、事后审计,满足等保合规要求。
官方文档:
https://docs.jumpserver.org/
开源地址:
https://github.com/jumpserver/jumpserver
安装JumpServer
实验环境
本文完整的方案会用到服务器(或者虚拟机)
- ? 服务器一台(必须,安装 Centos7.2 以上版本系统,如果没有备案域名请购买香港或海外区域,http://y.xgss.net/aliyun)
- ? 域名或IP一个,下文以 域名 jms.xgss.net 代替(非必须,本文用用内网ip 代替)
- ? SSL 证书一个(非必须,可以免费证书)
环境要求
- ? 支持主流 Linux 发行版本(基于 Debian / RedHat,包括国产操作系统)
- ? Gentoo / Arch Linux 请通过源码安装
操作系统架构Linux 内核软件要求最小化硬件配置linux/amd64x86_64>= 4.0wget curl tar gettext iptables python2Core/8GB RAM/60G HDDlinux/arm64aarch64>= 4.0wget curl tar gettext iptables python2Core/8GB RAM/60G HDD
Ubuntu
apt-get update
apt-get install -y wget curl tar gettext iptables
CentOS
yum update
yum install -y wget curl tar gettext iptables
离线安装
为什么选择离线安装,因为在线安装jumpserver很考验服务器的网络,有时候会因为网络的问题导致安装失败。
还有一种方法是docker all in one。
从飞致云社区 下载最新的 linux/amd64 [地址: community.fit2cloud.com/#
/products/jumpserver/downloads ]离线包, 并上传到部署服务器的 /opt 目录。
关注公众号'星哥玩云',回复'jumpserver',获得jumpserver的下载地址。
cd /opt
tar -xf jumpserver-ce-v4.-x86_64.tar.gz
cd jumpserver-ce-v4.-x86_64
# 安装
./jmsctl.sh install
# 启动
./jmsctl.sh start
安装成功
>>> The Installation is Complete
1. You can use the following command to start, and then visit
cd /opt/jumpserver-ce-v4.-x86_64
/opt/jumpserver-ce-v4.-x86_64/jmsctl.sh start
2. Other management commands
/opt/jumpserver-ce-v4.-x86_64/jmsctl.sh stop
/opt/jumpserver-ce-v4.-x86_64/jmsctl.sh restart
/opt/jumpserver-ce-v4.-x86_64/jmsctl.sh backup
/opt/jumpserver-ce-v4.-x86_64/jmsctl.sh upgrade
For more commands, you can enter ./jmsctl.sh --help to understand
3. Web access
http://:
Default username: admin Default password: ChangeMe
docker ps
查看正在运行的容器
[root@node121 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
27241322b803 jumpserver/koko:v4.-ce "./entrypoint.sh ./k…" 5 hours ago Up 5 hours (healthy) :->/tcp, :::->/tcp jms_koko
76dda2c4c06c jumpserver/core:v4.-ce "./entrypoint.sh sta…" 5 hours ago Up 5 hours (healthy) /tcp jms_core
df05a6e1df0e jumpserver/chen:v4.-ce "./entrypoint.sh wisp" 5 hours ago Up 5 hours (healthy) /tcp jms_chen
099a575dc8a9 redis:-bullseye "docker-entrypoint.s…" 5 hours ago Up 5 hours (healthy) /tcp jms_redis
716f50d4f2f0 jumpserver/web:v4.-ce "/docker-entrypoint.…" 5 hours ago Up 5 hours (healthy) :->/tcp, :::->/tcp jms_web
5afd8a649cc4 jumpserver/lion:v4.-ce "./entrypoint.sh sup…" 5 hours ago Up 5 hours (healthy) /tcp, /tcp jms_lion
421b962cb795 postgres:-bullseye "docker-entrypoint.s…" 5 hours ago Up 5 hours (healthy) /tcp jms_postgresql
72521dbb2adc jumpserver/core:v4.-ce "./entrypoint.sh sta…" 5 hours ago Up 5 hours (healthy) /tcp jms_celery
浏览器访问
http://: 访问 jumpserver
输入用户和默认的密码,username: admin Default password: ChangeMe,提示修改初始密码。
image-
至此离线安装jumpserver安装成功。
JumpServer all-in-one安装方法
这里用容器all-in-one有个好处就是方便,不会破坏宿主机原来的服务(如果是全新机就可以考虑这个问题),但是安装之后有两个BUG。
一个是nginx的一个报错,“nginx: [emerg] host not found in upstream "facelive" in
/etc/nginx/includes/facelive.conf:2”
一个是需要配置配置文件,“配置文件有问题,无法登录,请联系管理员或查看最新文档,如果你是管理员,可以更新配置文件解决,设置配置项”
所以不建议没有Docker操作的小白用这个方法。
至少官方没有修复之前不建议用。
安装docker
省略
Quick start
docker volume create jsdata
docker volume create pgdata
docker run --name jms_all \
-e SECRET_KEY=PleaseChangeMe \
-e BOOTSTRAP_TOKEN=PleaseChangeMe \
-v jsdata:/opt/data \
-v pgdata:/var/lib/postgresql \
-p : \
-p : jumpserver/jms_all
报错
mv: inter-device move failed: '/opt/jumpserver/data/logs' to '/opt/data/jumpserver/logs'; unable to remove target: Directory not empty
rm: cannot remove '/var/log/nginx': Device or resource busy
>> Init database
>> Start database postgre
Removed stale pid file.
/opt/web/entrypoint.sh: Configuration complete; ready for start up
nginx: [emerg] host not found in upstream "facelive" in /etc/nginx/includes/facelive.conf: ::, INFO exited: web (exit status 1; not expected)
::, INFO gave up: web entered FATAL state, too many start retries too quickly
image-
修复nginx配置bug
进入docker
# docker exec -it jms_all /bin/bash
编辑
vim /etc/nginx/includes/facelive.conf
把
proxy_pass http://facelive:;
改成:
proxy_pass http://:;
保存退出,再重启容器
重启docker容器
root@415e8fb4b1cd:/opt# exit
exit
[root@node121 ~]# docker restart jms_all
浏览器访问
输入用户和默认的密码,username: admin Default password: ChangeMe
依然报错:
配置文件有问题,无法登录,请联系管理员或查看最新文档 如果你是管理员,可以更新配置文件解决,设置配置项 DOMAINS=:
image-
修复bug
修复: 配置文件有问题,无法登录,请联系管理员或查看最新文档,如果你是管理员,可以更新配置文件解决,设置配置项
在网上找到的解决办法,这个方法不管用。
# docker exec -it jms_all /bin/bash
1.服务器上找到
mkdir /opt/jumpserver/config/
vim /opt/jumpserver/config/config.txt
2.vi进去,找到这里,如何找。可以进入冒号模式:/DOMAINS,来进行查找。
DOMAINS=":"
这个方法可以修复
# docker exec -it jms_all /bin/bash
vim /opt/jumpserver/apps/jumpserver/conf.py
找到 'DOMAINS': '', 这一行。
把改为:
'DOMAINS': ':', # 这里换成你的地址。
保存退出
再重启容器
exit
docker restart jms_all
至此all-in-one安装方法可以成功登录jumpserver。
系统内存占用到2G。
参考:
https://github.com/jumpserver/Dockerfile/tree/master/allinone
结尾
JumpServer 的安装(离线安装)和配置并不复杂,但却能显著提升企业的运维安全性和操作规范化程度。通过合理的权限划分和全面的审计功能,
下一篇文章星哥会讲如何使用JumpServer堡垒机,保护你的服务器的安全。
相关推荐
- RouterOS 端口映射 (远程桌面)
-
一款功能强大的路由器系统-软路由-RouterOS推荐一款路由器系统,头条有很多喜欢使用软路由伙伴可能有很多都不知道RouterOS这个路由系统是,RouterOS是由拉脱维亚MikroTik...
- 神经网络中的编码器 神经网络视频编码
-
神经网络算法-一文搞懂Transformer(总体架构&三种注意力层)本文将从Transformer的本质、Transformer的原理、Transformer的应用三个方面,带您一...
- 必备资料103个WindowsXP运行命令
-
Windows中CMD最全命令行CMD命令:开始->运行(或者Windows+R)->键入cmd或command(在命令行里可以看到系统版本、文件系统版本)CMD命令锦集1.gpedit...
- 固态硬盘无法格式化怎么办
-
Windows中固态硬盘无法格式化怎么办?固态硬盘(简称SSD)是一种数据存储设备,与传统机械硬盘相比,它在许多方面表现得更好。因此,越来越多的用户希望使用固态硬盘,但是当人们购买固态硬盘后准备将其格...
- 手机信令数据分析_手机信令数据分析过程代码
-
清华大学公共管理学院刘志林教授:探索手机信令数据在城市治理中的应用中国发展网讯日前,由中国人民大学首都发展与战略研究院(以下简称“首发院”)主办的首都大讲堂(第7期)暨地方治理工作坊第二期在京举办。...
- python开发ping工具 ipad python开发工具
-
python之ping主机#coding=utf-8frompythonpingimportpingforiinrange,):ip=.+str(i)...
- 云容灾关键技术点简介_云容器技术
-
阿里云发布企业级云灾备解决方案:一键容灾、成本节省%5月日,阿里云对外发布了企业级云灾备解决方案。据介绍,此次发布的灾备解决方案来自阿里巴巴IT基础设施云化的灾备经验,完全省去灾备机房的建设规划,可大...
- 域名泛解析设置_域名解析包括泛域名解析
-
如何降低域名被恶意泛解析的风险买车用车不想被忽悠,就请关注缸微信号:kf12gang←长按可复制。我们每天将免费为您解答选车用车的相关问题。作者:QQ126058域名被恶意泛解析是域名安全最常见的问...
- 人人通云平台怎么注册 人人通云教学登录账号
-
世界那么大,她看到了:一个心理咨询师的十年心灵之旅来源:环球网“世界那么大,我想去看看。”十年前的那个春天,十个字的辞职信,戳中了无数国人的心,激起了无数个“诗和远方”的小梦想,被称为“史上最具情怀...
- 民用远程监控手机软件_民用远程监控手机软件下载
-
屏幕监控软件有哪些?3款好用的监控软件分享!管控摸鱼小case!作为企业管理者,我深知员工工作效率和信息安全的重要性。在日常管理中,我时常会遇到这样的难题:员工是否在认真工作?有没有利用公司资源做与工...
- 重量级!Maven史上最全教程,看了必懂
-
对8个MCP服务器框架的比较作者:FrankGoortani编译:小兰引言模型上下文协议(MCP)是一种新标准,用于以统一方式将AI助手(如LLM)与外部数据源和工具连接起来。自推出以来,各种框架已...
- 面试字节跳动,收到offer后我却拒绝了 ,给面试人的一些忠告!
-
面试字节跳动,我被面试官狂怼全过程!来源:https://www.zhihu.com/question//answer/人们都说,这个世界上有两种人注定单身,一种是太优秀的,另一种是太平凡的。我一听呀...
- ps1手柄 python Ps1手柄真假
-
别再花冤枉钱!教你一分钟辨别“真假”超皮秒▌什么是超皮秒?皮秒激光,就是每个激光发射的脉冲持续时间(脉宽)达到皮秒级别的激光;1ps等于的负次方秒,超皮秒其实是一种商业名称,本质上也是皮秒激光设备,我...
- 路由器接交换机UPLINK还是
-
最全攻略!网络小白也能看懂的交换机连接方法号主:老杨丨年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部中午好,我的网工朋友。在网络设备的世界里,交换机是不可或缺的存在。不同的连接方法...
- tempdb 清理 tempdb可以删除吗
-
无需改代码,提高SQLSERVER数据库性能的个最简单方法众所周知SQLSERVER是微软的数据库拳头产品,有着图形化友好界面、操作门槛低、部署难度小,一键式安装的特点,受到全球开发者及企业的青睐...
你 发表评论:
欢迎- 一周热门
-
-
维基百科Wikipedia镜像网站列表
-
超炫html+css+javascript幻化3D相册 (含背景音乐)程序员表白必备
-
6款图片查看器,丝滑干净无广告!(图片查看器软件)
-
不能读取文件“itunes.library.itl”因为它是由更高级别的itunes所创建的
-
用java编写一个QQ群发信息_用java语言写qq聊天程序
-
StreamReader StringReader 区别 reader和inputstream的区别
-
安卓系统手机文件夹及其文件详细解析
-
Windows Server 2003 详细安装与配置
-
作为一名独立开发者,我是如何建立我的科技创业公司的
-
计算机集成制造系统有哪些_计算机集成制造系统有哪些类型
-
- 最近发表
- 标签列表
-
- int.tryparse (62)
- list转list (108)
- repeat函数 (66)
- git force (69)
- springboot /error (71)
- mysql 更新 (74)
- save as pdf (63)
- lock tables (66)
- 同步 异步 阻塞 非阻塞 (62)
- rsyslog (66)
- querystring (63)
- c++ override (70)
- css 动画库 (61)
- vsphere web client (65)
- int32_t (63)
- c# task.run (68)
- find -size (64)
- golang flag包 (70)
- 二维数组作为参数传入函数 (62)
- sudo su root (60)
- crontab 安装 (61)
- c# 数组转成list (60)
- 下拉按钮 (64)
- 滚动条美化 (61)
- stringutils (61)