1、介绍
JumpServer 是一款开源的堡垒机,使用 Python / Django 为主进行开发,采纳分布式架构,支持多机房跨区域部署,支持横向扩展,无资产数量及并发限制。可使系统的管理员和开发人员安全的连接到企业内部服务器上执行操作,并且支持大 部分操作系统,是一款非常安全的远程连接工具。基于ssh协议来管理,客户端无需安装agent。,
1.1、特点
- 开 源:零门槛,线上快速获取和安装;
- 分布式:轻松支持大规模并发访问;
- 无插件:仅需浏览器,极致的 Web Terminal 使用体验;
- 多云支持:一套系统,同时管理不同云上面的资产;
- 云端存储:审计录像云端存储,永不丢失;
- 多租户:一套系统,多个子公司和部门同时使用;
- 多应用支持:数据库,Windows远程应用,Kubernetes。
2、安装部署
2.1、配置清单
jumpserver:192.168.4.20 2CPU,4G内存
2.2、安装
2.2.1、下载软件包
[root@jumpserver ~]# wget https://cdn0-download-offline-installer.fit2cloud.com/jumpserver/jumpserver-offline-installer-v2.23.2-amd64-26.tar.gz
2.2.2、部署服务器的 /opt 目录
[root@jumpserver ~]# mv jumpserver-offline-installer-v2.23.2-amd64-26.tar.gz /opt/
[root@jumpserver ~]# cd /opt/
[root@jumpserver opt]# tar -xf jumpserver-offline-installer-v2.23.2-amd64-26.tar.gz
[root@jumpserver opt]# cd jumpserver-offline-installer-v2.23.2-amd64-26/
2.2.3、根据需要修改配置文件模板, 如果不清楚用途可以跳过修改
[root@jumpserver jumpserver-offline-installer-v2.23.2-amd64-26]# cat config-example.txt
2.2.4、安装jumpserver
[root@jumpserver jumpserver-offline-installer-v2.23.2-amd64-26]# ./jmsctl.sh install
>>> 安装配置 JumpServer
1. 配置加密密钥
SECRETE_KEY: RDgxRTRENTYtNDJGNS1EMEFDLUU5NkUtMDFCRkFDNkI4RURB
BOOTSTRAP_TOKEN: RDgxRTRENTYtNDJGNS1EMEFD
完成
2. 配置持久化目录
是否需要自定义持久化存储, 默认将使用目录 /opt/jumpserver? (y/n) (默认为 n): # 需要修改选y,否定按回车键
完成
3. 配置 MySQL
是否使用外部 MySQL? (y/n) (默认为 n): # 需要修改选y,否定按回车键
完成
4. 配置 Redis
是否使用外部 Redis? (y/n) (默认为 n): # 需要修改选y,否定按回车键
完成
5. 配置对外端口
是否需要配置 JumpServer 对外访问端口? (y/n) (默认为 n): # 需要修改选y,否定按回车键
完成
6. 初始化数据库
[+] Running 4/4
⠿ Network jms_net Created 1.2s
⠿ Container jms_mysql Healthy 22.2s
⠿ Container jms_redis Healthy 12.2s
⠿ Container jms_core Started
…………………………………………
>>> 安装完成了
1. 可以使用如下命令启动, 然后访问
cd /opt/jumpserver-offline-installer-v2.23.2-amd64-26
./jmsctl.sh start
2. 其它一些管理命令
./jmsctl.sh stop
./jmsctl.sh restart
./jmsctl.sh backup
./jmsctl.sh upgrade
更多还有一些命令, 你可以 ./jmsctl.sh --help 来了解
3. Web 访问
http://192.168.4.20:80 # web登录地址
默认用户: admin 默认密码: admin # 登录用户和密码
4. SSH/SFTP 访问
ssh -p2222 admin@192.168.4.20
sftp -P2222 admin@192.168.4.20
5. 更多信息
我们的官网: https://www.jumpserver.org/
我们的文档: https://docs.jumpserver.org/
2.2.5、启动
[root@jumpserver jumpserver-offline-installer-v2.23.2-amd64-26]# ./jmsctl.sh start
[+] Running 8/8
2.2.6、查看状态
[root@jumpserver jumpserver-offline-installer-v2.23.2-amd64-26]# ./jmsctl.sh status
NAME COMMAND SERVICE STATUS PORTS
jms_celery "./entrypoint.sh sta…" celery running (healthy) 8070/tcp, 8080/tcp
jms_core "./entrypoint.sh sta…" core running (healthy) 8070/tcp, 8080/tcp
jms_koko "./entrypoint.sh" koko running (healthy) 0.0.0.0:2222->2222/tcp, :::2222->2222/tcp, 5000/tcp
jms_lion "./entrypoint.sh" lion running (healthy) 4822/tcp
jms_magnus "./entrypoint.sh" magnus running (healthy) 0.0.0.0:33060-33061->33060-33061/tcp, :::33060-33061->33060-33061/tcp, 0.0.0.0:63790->63790/tcp, :::63790->63790/tcp, 54320/tcp
jms_mysql "docker-entrypoint.s…" mysql running (healthy) 3306/tcp, 33060/tcp
jms_redis "docker-entrypoint.s…" redis running (healthy) 6379/tcp
jms_web "/docker-entrypoint.…" web running (healthy) 0.0.0.0:80->80/tcp, :::80->80/tcp
2.2.7、安装完成后配置文件
[root@jumpserver jumpserver-offline-installer-v2.23.2-amd64-26]# cat /opt/jumpserver/config/config.txt
2.3、jumpserver的管理界面
2.3.1、浏览器输入:http://192.168.4.20:80,登录界面
2.3.2、初始登录,系统会提示修改密码
2.3.3、修改密码后用新密码登录
2.3.4、登录成功后的界面
2.3.5、用户管理
- 用户管理:
—用户列表:这个用户是登录跳板机的用户
1)创建用户组
2)创建用户
3)查看角色权限
2.3.6、资产管理
- 资产管理:
—系统用户:系统中用于维护的普通账户,由运维人员使用;
—特权用户:最高权限用户,是运维经理用于赋权和管理;
—普通用户:可以在资产上预先存在,也可以由特权用户来自动创建。
1)特权用户
特权用户是资产已存在的, 并且拥有 高级权限 的系统用户, 如 root 或 拥有 `NOPASSWD: ALL` sudo 权限的用户。 JumpServer 使用该用户来 `推送系统用户`、`获取资产硬件信息` 等。
- 登录node01主机,创建tom用户
[root@node01 ~]# useradd tom
[root@node01 ~]# echo "tom" | passwd --stdin tom
[root@node01 ~]# vim /etc/sudoers
92 root ALL=(ALL) ALL
93 tom ALL=(ALL) NOPASSWD:ALL
[root@node01 ~]# su - tom # 测试提权是否成功
[tom@node01 ~]$ sudo useradd user01 # 如果创建成功,说明提权成功,再进行一下操作
2)系统用户
跳板机登录资产时使用的账号,如 root `ssh root@host`,而不是使用该用户名登录资产(ssh admin@host)`。
3)资产列表
- 添加主机
- 创建完成,进行验证主机是否可连接
2.3.7、资产授权
2.3.8、测试
1)退出Admin用户,使用运维帐号jiangying登录jumpserver跳板机
2)查看自己对所分配的资产有无连接权限
3)连接成功
2.3.9、命令行连接方式,找一台虚拟机
[root@master ~]# ssh -p 2222 jiangying@192.168.4.20 # 回车后,输入jumpserver平台的登录密码
江英, JumpServer 开源堡垒机
1) 输入 部分IP,主机名,备注 进行搜索登录(如果唯一).
2) 输入 / + IP,主机名,备注 进行搜索,如:/192.168.
3) 输入 p 进行显示您有权限的主机.
4) 输入 g 进行显示您有权限的节点.
5) 输入 d 进行显示您有权限的数据库.
6) 输入 k 进行显示您有权限的Kubernetes.
7) 输入 r 进行刷新最新的机器和节点信息.
8) 输入 s 进行中英日语言切换.
9) 输入 h 进行显示帮助.
10) 输入 q 进行退出.
Opt> p # 按p查看有权限的主机,然后输入他的id 就能连接上 然后可以进行增删改查
ID | 主机名 | IP | 备注
--------+--------------------------------------------------------------------+------------------------------------------+----------------------------------
1 | node01 | 192.168.4.11 |
页码:1,每页行数:14,总页数:1,总数量:1
提示:输入资产ID直接登录,二级搜索使用 // + 字段,如://192 上一页:b 下一页:n
搜索:
[Host]> 1
复用SSH连接(xiaobao@192.168.4.11)[连接数量: 2]
Last login: Sun Jul 3 00:38:33 2022 from 192.168.4.20
[xiaobao@node01 ~]$
2.3.10、用jumpserver的管理帐号登录,查看历史记录
- 查看会话记录
- 查看命令记录
2.3.11、配置命令规则
- 创建命令过滤器
- 创建命令过滤器规则