项目拓扑图

jenkins堡垒机如何调用_运维

一  JumpServer

1  概述 

JumpServer是一款开源的堡垒机,可使系统的管理员和开发人员安全的连接到企业内部服务器上执行操作,并且支持大部分操作系统,是一款非常安全的远程连接工具

2  常见支持系统

CentOS、RedHat、Fedora,、Amazon LinuxDebianSUSE、UbuntuFreeBSD其他ssh协议硬件设备

3  优势

开源:零门槛,线上快速获取和安装、

无插件:仅需浏览器,极致 Web Terminal 使用体验

多云支持:一套系统,同时管理不同云上资产

分布式:轻松支持大规模并发访问

云端存储:审计录像存放在云端,永不丢失

多租户:一套系统,多个子公司和部门同时使用

安全审计 4A 规范

身份验证/Authentication:防止身份冒用和复用

授权控制/Authorization:防止内部误操作和权限滥用

账号管理/Accounting:人员和资产的管理

安全审计/Auditing:追溯的保障和事故分析的依据

4  安装部署

配置docker的yum源, 安装docker
[root@jumpserver ~]# cp -r s4/docker/ /var/localrepo/
[root@jumpserver ~]# createrepo --update /var/localrepo/
[root@jumpserver ~]# vim /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=http://192.168.1.252/localrepo/
enabled=1
gpgcheck=0
[root@jumpserver ~]# yum -y install docker-ce
[root@jumpserver ~]# systemctl enable --now docker

安装jumpserver
[root@jumpserver ~]# cd s4/
[root@jumpserver s4]# tar -xf project.tar.xz
[root@jumpserver s4]# cd project/
[root@jumpserver project]# tar -xf jumpserver-offline-installer-v2.28.6-amd64-179.tar.gz
[root@jumpserver project]# mv jumpserver-offline-installer-v2.28.6-amd64-179 /usr/local/jumpserver
[root@jumpserver project]# cd /usr/local/jumpserver/
[root@jumpserver jumpserver]# ./jmsctl.sh install   #一路回车,只需要更改端口
1. 检查配置文件
配置文件位置: /opt/jumpserver/config
/opt/jumpserver/config/config.txt  [ √ ]
/opt/jumpserver/config/nginx/cert/server.crt   [ √ ]
/opt/jumpserver/config/nginx/cert/server.key   [ √ ]
完成

>>> 安装配置 Docker
1. 安装 Docker
完成

2. 配置 Docker
完成

3. 启动 Docker
完成

>>> 加载 Docker 镜像
...
完成

>>> 安装配置 JumpServer
1. 配置加密密钥
SECRETE_KEY:     YjYxYWMyZmUtMzI4NS00YmZhLTg1NWUtN2MwZjY1MWZhMTMw
BOOTSTRAP_TOKEN: YjYxYWMyZmUtMzI4NS00YmZh
完成

2. 配置持久化目录
是否需要自定义持久化存储, 默认将使用目录 /data/jumpserver (y/n)  (默认为 n): 
完成

3. 配置 MySQL
是否使用外部 MySQL? (y/n)  (默认为 n): 
完成

4. 配置 Redis
是否使用外部 Redis? (y/n)  (默认为 n): 
完成

5. 配置对外端口
是否需要配置 JumpServer 对外访问端口? (y/n)  (默认为 n): y
JumpServer web port (default 80): 81
JumpServer ssh port (default 2222): 
完成

6. 初始化数据库
[+] Running 4/4
 ⠿ Network jms_net      Created                             0.1s
 ⠿ Container jms_redis  Healthy                            11.0s
 ⠿ Container jms_mysql  Healthy                            11.0s
 ⠿ Container jms_core   Started                            11.2s
2023-07-04 01:52:27 Collect static files
2023-07-04 01:52:27 Collect static files done
2023-07-04 01:52:27 Check database structure change ...
2023-07-04 01:52:27 Migrate model change to database ...
...
  Applying users.0040_alter_user_source... OK
After migration, update builtin role permissions
完成

>>> 安装完成了
1. 可以使用如下命令启动, 然后访问
cd /usr/local/jumpserver
./jmsctl.sh start

2. 其它一些管理命令
./jmsctl.sh stop
./jmsctl.sh restart
./jmsctl.sh backup
./jmsctl.sh upgrade
更多还有一些命令, 你可以 ./jmsctl.sh --help 来了解

3. Web 访问
http://192.168.1.252:81
默认用户: admin  默认密码: admin

4. SSH/SFTP 访问
ssh -p2222 admin@192.168.1.252
sftp -P2222 admin@192.168.1.252

5. 更多信息
我们的官网: https://www.jumpserver.org/
我们的文档: https://docs.jumpserver.org/

[root@jumpserver jumpserver]# ./jmsctl.sh start     #启动jumpserver
[+] Running 8/8
 ⠿ Container jms_mysql   Healthy                            0.6s
 ⠿ Container jms_redis   Healthy                            0.6s
 ⠿ Container jms_core    Healthy                           14.3s
 ⠿ Container jms_web     Started                           15.6s
 ⠿ Container jms_koko    Started                           15.5s
 ⠿ Container jms_lion    Started                           15.3s
 ⠿ Container jms_celery  Started                           15.1s
 ⠿ Container jms_magnus  Started                           17.8s
 

[root@jumpserver jumpserver]# ./jmsctl.sh status        #查看状态
NAME                IMAGE                       COMMAND                  SERVICE             CREATED             STATUS                            PORTS
jms_celery          jumpserver/core:v2.28.6     "./entrypoint.sh sta…"   celery              26 seconds ago      Up 12 seconds (healthy)           8070/tcp, 8080/tcp
jms_core            jumpserver/core:v2.28.6     "./entrypoint.sh sta…"   core                26 seconds ago      Up 25 seconds (healthy)           8070/tcp, 8080/tcp
jms_koko            jumpserver/koko:v2.28.6     "./entrypoint.sh"        koko                26 seconds ago      Up 12 seconds (healthy)           0.0.0.0:2222->2222/tcp, :::2222->2222/tcp, 5000/tcp
jms_lion            jumpserver/lion:v2.28.6     "./entrypoint.sh"        lion                26 seconds ago      Up 12 seconds (healthy)           4822/tcp, 8081/tcp
jms_magnus          jumpserver/magnus:v2.28.6   "./entrypoint.sh"        magnus              26 seconds ago      Up 9 seconds (health: starting)   0.0.0.0:30000-30100->30000-30100/tcp, :::30000-30100->30000-30100/tcp
jms_mysql           jumpserver/mariadb:10.6     "docker-entrypoint.s…"   mysql               2 minutes ago       Up 2 minutes (healthy)            3306/tcp
jms_redis           jumpserver/redis:6.2        "docker-entrypoint.s…"   redis               2 minutes ago       Up 2 minutes (healthy)            6379/tcp
jms_web             jumpserver/web:v2.28.6      "/docker-entrypoint.…"   web                 26 seconds ago      Up 12 seconds (healthy)           80/tcp, 0.0.0.0:81->81/tcp, :::81->81/tcp

二   jumpserver使用

1  访问jumpserver

http://192.168.88.7:81
访问页面如下:用户名admin,密码admin登录,会让修改密码,使用新密码登录即可

jenkins堡垒机如何调用_运维_02

 

jenkins堡垒机如何调用_学习_03

2   jumpserver配置用户

在jumpserver里面两种用户:

1、用户管理里面的用户:这个用户指堡垒机账号, 就是你能用这个账号登录web页面, 登录跳板机服务器的用户

2、资产管理里面的系统用户:
    它又分为 特权用户 和 普通用户
    特权用户: 是资产已存在的, 并且拥有 高级权限 的系统用户,如root用户, JumpServer 使用该用户来 `推送系统用户`、`获取资产硬件信息` 等;
    普通用户:可以在资产上预先存在,也可以由 特权用户 来自动创建
    系统用户:是JumpServer 登录资产时使用的账号

创建登录jumpserver的用户weiwei

jenkins堡垒机如何调用_jenkins堡垒机如何调用_04

 用户创建好之后,需要使用这个用户进行资产的管理

找到资产管理,点击系统用户

系统用户中的特权用户是资产(被控服务器)上的 root,或拥有 NOPASSWD: ALL sudo 权限的用户, JumpServer 使用该用户来 `推送系统用户`、`获取资产硬件信息` 等

jenkins堡垒机如何调用_linux_05

系统用户中的普通用户是 JumpServer 跳转登录资产时使用的用户,可以理解为登录资产的系统用户,创建普通用户vv,使用密码登录,自动推送选择所有权限ALL

jenkins堡垒机如何调用_jenkins堡垒机如何调用_06

系统用户创建完成之后,还没有资产,现在需要添加资产(此资产就是后面需要使用jumpserver管理的机器)

jenkins堡垒机如何调用_linux_07

 资产创建完成之后,需要授权给哪个用户登录进行管理

jenkins堡垒机如何调用_jenkins堡垒机如何调用_08

3、测试

此时退出admin管理用户,使用weiwei用户登录,测试web用户的资产

jenkins堡垒机如何调用_运维_09

 点击web终端,可以正常登陆资产,使用sudo -s切换到root用户,也可以使用sudo提权执行命令

如果jumpserver有多个用户,且授权不同的用户管理不同的资产,此时每个用户只能看到自己的资产,别人的资产是看不到的

jenkins堡垒机如何调用_学习_10

jenkins堡垒机如何调用_学习_11

 配置完成后,jumpserver使用命令行通过weiwei用户连接,可以看到资产,此时也可以在jumpserver主机通过命令行连接

[root@fortress ~]# ssh -p2222 weiwei@192.168.88.7
weiwei@192.168.88.7's password:

                运维人员,  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>

Opt> p
  ID    | 主机名                                             | IP                      | 平台               | 组织              | 备注
--------+----------------------------------------------------+-------------------------+--------------------+-------------------+------------------
  1     | zabbix                                             | 192.168.88.21           | Linux              | Default           |
页码:1,每页行数:41,总页数:1,总数量:1
提示:输入资产ID直接登录,二级搜索使用 // + 字段,如://192 上一页:b 下一页:n
搜索:
[Host]>

输入对应id,可以直接进入到资产里面,sudo -s切换到root用户,直接进行配置即可

[Host]> 1
复用SSH连接(zabbix-test特权用户@192.168.88.21)[连接数量: 3]
Last login: Thu Nov  9 11:17:43 2023 from 192.168.88.7
[root@zabbix ~]#