@jumpserver跳板机使用详解

jumpserver

一、jumpserver堡垒机

【jumpserver文件下载】

1、jumpserver简介

Jumpserver是一款由python编写, Django开发的开源跳板机/堡垒机系统, 助力互联网企业高效 用户、资产、权限、审计 管理的跳板机

【jumpserver官网】

【jumpserver文档】

1、jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的专业运维审计系统

2、Jumpserver 使用 Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 解决方案,交互界面美观、用户体验好

3、Jumpserver 采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点,可横向扩展、无并发访问限制
2、jumpserver功能

【jumpserver官网功能详解】

1)#统一认证

2)#资产管理

3)#统一授权

4)#审计 

5)#支持LDAP认证(轻型目录访问协议 Light Directory Access Protocol)

6)#Web terminal(页面站点)

7)#SSH Server 

8)#支持Windows RDP (远程窗口)
3、jumpserver的特点
1#完全开源,GPL授权
2#Python编写,容易再次开发
3#实现了跳板机基本功能,身份认证、访问控制、授权、审计 、批量操作等。
4#集成了Ansible,批量命令等
5#支持WebTerminal
6#Bootstrap编写,界面美观
7#自动收集硬件信息
8#录像回放
9#命令搜索
10#实时监控
11#批量上传下载

二、jumpserver的实现(安装调试)

1、jumpserver的安装

【官网下载(自定义选择版本)】

1)#Jumpserver 环境要求:
硬件配置: 2个CPU核心, 4G 内存, 50G 硬盘(最低)
操作系统: Linux 发行版 x86_64
Python = 3.6.x
Mysql Server ≥ 5.6
Mariadb Server ≥ 5.5.56
Redis

2)#jumpserver的下载
    安装Git :yum install git
    使用克隆下载源代码:git clone --depth=1 https://github.com/jumpserver/jumpserver.git
2、jumpserver的调试

下载jumpserver代码—>推送jumpserver代码—>创建jumpserver目录—>编辑jumpserver代码—>使用解释器执行代码文件(运行代码脚本)

#编辑jumpserver使用脚本
[root@local ~]# vim /jumpserver/quick_start.sh

#!/bin/bash

function prepare_check() {
  isRoot=`id -u -n | grep root | wc -l`
  if [ "x$isRoot" != "x1" ]; then
      echo -e "[\033[31m ERROR \033[0m] Please use root to execute the installation script (请用 root 用户执行安装脚本)"
      exit 1
  fi
  processor=`cat /proc/cpuinfo| grep "processor"| wc -l`
  if [ $processor -lt 2 ]; then
      echo -e "[\033[31m ERROR \033[0m] The CPU is less than 2 cores (CPU 小于 2核,JumpServer 所在机器的 CPU 需要至少 2核)"
  memTotal=`cat /proc/meminfo | grep MemTotal | awk '{print $2}'`
  if [ $memTotal -lt 3750000 ]; then
      echo -e "[\033[31m ERROR \033[0m] Memory less than 4G (内存小于 4G,JumpServer 所在机器的内存需要至少 4G)"
      exit 1
  fi
function install_soft() {
        dnf -q -y install python2
        ln -s /usr/bin/python2 /usr/bin/python
      else
        dnf -q -y install $1
      yum -q -y install $1
    elif command -v apt > /dev/null; then
      apt-get -qqy install $1
    elif command -v zypper > /dev/null; then
      zypper -q -n install $1
    elif command -v apk > /dev/null; then
      apk add -q $1
    else
    fi
}

function prepare_install() {
  for i in curl wget zip python; do
    command -v $i &>/dev/null || install_soft $i
  done
}

function get_installer() {
  echo "download install script to /opt/jumpserver-installe (开始下载安装脚本到 /opt/jumpserver-installe)"
  if [ ! "$Version" ]; then
    echo -e "[\033[31m ERROR \033[0m] Network Failed (请检查网络是否正常或尝试重新执行脚本)"
  fi
  cd /opt
  if [ ! -d "/opt/jumpserver-installer-$Version" ]; then
    wget -qO jumpserver-installer-$Version.tar.gz https://github.com/jumpserver/installer/releases/download/$Version/jumpserver-installer-$Version.tar.gz || {
      rm -rf /opt/jumpserver-installer-$Version.tar.gz
      echo -e "[\033[31m ERROR \033[0m] Failed to download jumpserver-installer (下载 jumpserver-installer 失败, 请检查网络是
否正常或尝试重新执行脚本)"
      exit 1
    }
    tar -xf /opt/jumpserver-installer-$Version.tar.gz -C /opt || {
      rm -rf /opt/jumpserver-installer-$Version
      echo -e "[\033[31m ERROR \033[0m] Failed to unzip jumpserver-installe (解压 jumpserver-installer 失败, 请检查网络是否正
常或尝试重新执行脚本)"
      exit 1
    }
    rm -rf /opt/jumpserver-installer-$Version.tar.gz
  fi
}

function config_installer() {
  cd /opt/jumpserver-installer-$Version
  JMS_Version=$(curl -s 'https://api.github.com/repos/jumpserver/jumpserver/releases/latest' | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
  if [ ! "$JMS_Version" ]; then
    echo -e "[\033[31m ERROR \033[0m] Network Failed (请检查网络是否正常或尝试重新执行脚本)"
    exit 1
  fi
  sed -i "s/VERSION=.*/VERSION=$JMS_Version/g" /opt/jumpserver-installer-$Version/static.env
  ./jmsctl.sh install
}

function main(){
  prepare_check
  prepare_install
  get_installer
  config_installer
}

main
4、jumpserver的使用

1)运行源代码脚本在这里插入图片描述

2)执行安装成功

在这里插入图片描述

3)启动jumpserver

[root@local ~]# cd /jumpserver/jumpserver-installer-v2.10.2/
[root@jumpserver jumpserver-installer-v2.10.2]# ./jmsctl.sh start #启动
jms_redis is up-to-date
jms_mysql is up-to-date
jms_core is up-to-date


[root@jumpserver jumpserver-installer-v2.10.2]# ./jmsctl.sh stop #停止

三、jumpserver管理测试

1、创建 Jumpserver 用户

用户管理—>用户列表—>创建用户

2、创建管理用户

资产管理—>管理用户—>创建管理用户(用户是资产服务器上存在的系统用户)

3、 创建系统用户

资产管理—>系统用户—>创建系统用户(资产服务器上存在的系统用户)

4、创建资产

资产管理—>ROOT(右击可先新建节点)—>创建资产

5、资产授权

权限管理—>资产授权—>创建授权规则

6、用户使用资产

JumpServer 文档

四、jumserver管理详解

1#浏览器web上输入主机IP地址加上8080端口号进入能录界面

在这里插入图片描述

2#默认登录用户名与密码都是admin,选择登录,成功登录后进行设置用户和密码

在这里插入图片描述

3、创建用户和密码

在这里插入图片描述

在这里插入图片描述

4)#切换新账号使用登录,创建用户组,添加用户权限及添加多用户,为多个用护添加用户权限,添加组及多用户权限,设置用户使用

在这里插入图片描述

5)#用户创建完成后,进行用户资产管理,创建用户管理资产,对资产进行审计

在这里插入图片描述

6)#点击资产管理中的资产列表,根据公司服务器创建对应的资产,也可为其加上相应标签,在资产列表页面,右击default即可创建对应文件夹,或更名等等操作


在这里插入图片描述

7)#创建服务器需要的系统用户,此时用户的密码要与服务器上的用户密码对应

在这里插入图片描述

8)#资产管理中的“命令过滤”是针对一些危险命令的禁用的,如:rm等点击应用管理中的数据库,可以创建数据库与数据库服务器上的某个数据库连接

在这里插入图片描述

9)#权限管理------->资产授权,可以为用户授权

在这里插入图片描述

在这里插入图片描述

10)#权限管理---------->应用授权,为用户添加一些权限

在这里插入图片描述

11)#会话管理中:
可以通过会话管理,查看当前的会话,和历史会话
可以通过命令记录,查找到操作人员对机器的记录,
可以通过web终端连接到对应的服务器
也可以通过文件管理页面,完成对文件的操作
终端管理可以查看当前终端服务器的状态

在这里插入图片描述

12)#作业中心
可以查看任务的一些详细信息
可以让服务器批量执行命令,当然前提是权限得够
任务监控 一般很少用到了解即可

在这里插入图片描述

13)#日志审计
日志审计里就是所有服务器,操作时产生的日志

在这里插入图片描述

14)#系统设置中最重要的一点就是可以将我们的邮箱与jumpserver进行绑定,可以到达监控的目的,同时公司资产有任何问题,我们都可以知道,但是需要我们将邮箱的SMTP,与pop功能打开

在这里插入图片描述

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
@RabbitListener 是 Spring AMQP 框架中用于监听 RabbitMQ 队列消息的注解。下面是关于 @RabbitListener 使用详解: 1. 引入依赖:首先,你需要在项目的 pom.xml 文件中添加 Spring AMQP 的依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> ``` 2. 创建 RabbitMQ 配置:接下来,你需要在 Spring Boot 项目中创建一个 RabbitMQ 的配置类,用于配置 RabbitMQ 连接信息和相关的队列、交换机等信息。你可以通过 @Configuration 注解来标记这个类,并使用 @Bean 注解来创建 RabbitMQ 的连接工厂和其他必要的组件。 ```java @Configuration public class RabbitMQConfig { @Value("${spring.rabbitmq.host}") private String host; @Value("${spring.rabbitmq.port}") private int port; @Value("${spring.rabbitmq.username}") private String username; @Value("${spring.rabbitmq.password}") private String password; @Bean public ConnectionFactory connectionFactory() { CachingConnectionFactory connectionFactory = new CachingConnectionFactory(); connectionFactory.setHost(host); connectionFactory.setPort(port); connectionFactory.setUsername(username); connectionFactory.setPassword(password); return connectionFactory; } // 其他必要的组件配置... } ``` 3. 创建消息监听器:使用 @RabbitListener 注解来标记一个方法作为消息监听器。你可以在该方法上添加 @QueueBinding 注解来绑定队列和交换机,并指定相关的路由键。 ```java @Component public class MessageListener { @RabbitListener(bindings = @QueueBinding( value = @Queue(value = "myQueue", durable = "true"), exchange = @Exchange(value = "myExchange", type = ExchangeTypes.TOPIC), key = "myRoutingKey" )) public void handleMessage(String message) { // 处理接收到的消息 System.out.println("Received message: " + message); } } ``` 在上面的例子中,我们将一个名为 "myQueue" 的队列绑定到名为 "myExchange" 的交换机上,使用 "myRoutingKey" 作为路由键。当有消息到达队列时,会调用 handleMessage 方法进行处理。 4. 启用 RabbitMQ 监听:在启动类上添加 @EnableRabbit 注解,启用 RabbitMQ 的监听功能。 ```java @SpringBootApplication @EnableRabbit public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 现在,当有消息发送到名为 "myQueue" 的队列时,@RabbitListener 注解所标记的方法将会被触发,并处理接收到的消息。 这就是 @RabbitListener 的使用详解。希望对你有所帮助!如果你还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值