原标题:开源堡垒机 Jumpserver 入门教程

背景

笔者最近想起此前公司使用过的堡垒机系统,觉得用的很方便,而现在的公司并没有搭建此类系统,想着以后说不定可以用上;而且最近也有点时间,因此来了搭建堡垒机系统的兴趣,在搭建过程中参考了比较多的文档,其中最详细的还是官方文档,地址:https://jumpserver.readthedocs.io/ 。

Jumpserver 介绍

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

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

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

Jumpserver 架构图

Jumpserver 组件说明

1. Jumpserver 现指 Jumpserver 管理后台,是核心组件(Core), 使用 Django Class Based View 风格开发,支持 Restful API。

2. Coco

实现了 SSH Server 和 Web Terminal Server 的组件,提供 SSH 和 WebSocket 接口, 使用 Paramiko 和 Flask 开发。

3. Luna

现在是 Web Terminal 前端,计划前端页面都由该项目提供,Jumpserver 只提供 API,不再负责后台渲染 html 等。

4. Guacamole

Apache 跳板机项目,Jumpserver 使用其组件实现 RDP 功能,Jumpserver 并没有修改其代码而是添加了额外的插件,支持 Jumpserver 调用。

5. Jumpserver-Python-SDK

Jumpserver API Python SDK,Coco 目前使用该 SDK 与 Jumpserver API 交互。

系统运行

在官方文档中安装堡垒机有很多种方法,这让笔者有些纠结,另外而且在不同系统中安装方法也不一致,不过正在徘徊不定时,发现一种通用的安装方法,便是采用 Docker 进行安装,因此本文中笔者将以 Docker 安装为例。

下载镜像

在 Docker 官方镜像库当中并没有收录 Jumpserver,因此下载镜像命令如下所示:

$ docker pull registry.jumpserver.org/public/jumpserver:1.0.0

从 1.4.5 版本开始,官方镜像库中已经收录了 Jumpserver。如果你需要使用最新版本可以用以下命令下载镜像:

$ dockerpull jumpserver/jms_all

下载过程可能比较慢,笔者大约花费了 14 分钟才将其下载完成,下载完成后结果如下所示:

1.0.0: Pulling from public/jumpserver

af4b0a2388c6: Pull complete

aa66a3d10fd2: Pull complete

1d4c6a27f2ac: Pull complete

2490267572de: Pull complete

b00f1599768d: Pull complete

398fc903cdc3: Pull complete

f8490bbfc09a: Pull complete

86d238b365f5: Pull complete

2cd3b1ef59b2: Pull complete

4a21434eeb73: Pull complete

ae8cf3e909e0: Pull complete

7c440776471a: Pull complete

0a5e895f91af: Pull complete

b86672241685: Pull complete

af16a4945f95: Pull complete

0374e723cd6c: Pull complete

e18b86849df9: Pull complete

648aa832cb74: Pull complete

b52364a5c704: Pull complete

Digest: sha256:0f26e439c492ac52cbc1926aa950a59730607c947c79557ab3da51bfc2c7b5d4

Status: Downloaded newer image for registry.jumpserver.org/public/jumpserver:1.0.0

运行镜像

下载之后笔者需要将下载下来的容器运行起来,为了防止 80 端口被宿主机其他进程所占用,因此将容器端口映射到宿主机的 8011 上,运行命令如下所示:

$ docker run --name jms_server -d -p 8011:80-p 2222:2222registry.jumpserver.org/public/jumpserver:1.0.0

在参数当中因为有加入后台运行参数 -d,容器运行之后终端不会进入容器 bash 中,而且当命令执行成功之后,docker 将会返回容器 ID,如果返回信息则可能出现了异常错误,正常返回结果如下所示:

4709a7d85af28bf05a63fb3e42541a41c30edda6668fd54a446cfab006c35b9e

运行检查

容器运行之后,笔者需要对其进行检测确保运行成功,检查方式有两个,首先观察容器是否正常运行,然后是检查堡垒机是否能被浏览器所访问。

首先通过如下命令可以查看当前正在运行的容器。

$ dockerps

如果容器正常运行将会出现刚才笔者所运行的堡垒机容器 ID,正常返回结果参考如下:

CONTAINERID IMAGE COMMAND CREATED STATUS PORTS NAMES4709a7d85af2 registry.jumpserver.org/public/jumpserver:1.0.0"/opt/start_jms.sh"8minutes ago Up 8minutes 443/tcp, 0.0.0.0:2222->2222/tcp, 0.0.0.0:8011->80/tcp jms_server

在返回结果当中可以看到之前 Docker 返回的容器 ID 正处于运行状态,便可以确定容器运行正常,接着笔者还需要通过浏览器来检测是否运行成功,使用浏览器打开如下地址:

http://127.0.0.1:8011/

当浏览器出现如下界面时,则基本代表成功。

配置入门

在确定系统正常运行之后,接下来就可以对系统进行一些配置,堡垒机配置比较简单,下面的配置是将是使用堡垒机最为基础的一些配置,配置主要是添加一些资产进行管理,这便需要添加管理用户、系统普通用户、账户授权等操作。

登录系统

在前面的检验运行的截图当中可以看到需要登录,而账号和密码笔者并没有在官方文档中所看到,笔者随手一尝试,发现用户名和密码分别是 admin 与admin,如下图所示:

登录成功之后,进入系统看到的界面如下图所示:

管理用户

接下来笔者需要添加一些资产,添加资产的前提条件是有一个管理用户,这个管理用户是资产的最高权限账户,堡垒机之后会使用此账户来登录并管理资产,和获取一些统计信息,笔者在资产管理->管理用户列表中点击创建系统用户按钮,便来到了创建管理用户的页面,如下图所示:

在表单中可以看见必须填写用户名,和认证所用的密码或私钥,按照真实情况去填写,比如笔者的资产最高权限账户是 song,密码 123456Ab,那么就如实填写上去。

资产管理

在添加管理用户之后,便可以添加资产了,添加资产也非常的简单,在资产列表点击创建资产按钮,便来到了添加资产的页面,如下图所示:

添加资产需要填写,资产的 IP 地址,以及 SSH 的端口号,以及选择资产的操作系统类型,并且选择用哪一个管理用户。

系统用户

在资产管理下还有一个系统用户管理,这个系统用户的使用场景是,有时候需要在很多个目标资产中创建一个普通账户,这时候肯定是十分麻烦;此时便可以通过堡垒机上的系统用户管理来创建一个系统用户;然后下发到目标资产中,这样一来就不需要去目标主机一个个登录然后去创建,因此非常方便,添加系统用户如下图所示:

创建系统用户需输入需要创建的账号,以及选择认证的方式,默认为秘钥方式,也可以将选择框选中去掉,通过密码来认证。

测试验证

在前面的配置步骤操作完毕后,便可以进行一些常规功能验证,以此来加深对Jumpserver 系统的了解,这些功能测试点有 资产连接测试、用户授权、Web终端、在线会话、命令记录等功能。

连接测试

连接测试的目的是检查资产是否可以被堡垒机所访问,可以在资产列表点击资产名称,便可以进入资产详情页面,右侧有两个按钮,点击刷新按钮,正确配置的参考效果如下图所示:

如果能看到左侧的硬件信息发生了变更,就代表此前配置的管理用户没有问题,否则会弹出错误提示框。

用户授权

当配置资产后,如果想在堡垒机中直接连接终端就还需要给用户授权,授权分为两个步骤,第一步是给web终端账户授权,在会话管理->终端管理,如下图所示:

第二步则是给用户自己本身授权,在授权管理->资产权限->创建权限规则中做好相应配置,如下图所示:

Web 终端

当给用户授权之后,用户便可以会话管理->Web终端中与系统进行交互,如下图所示:

在线会话

有些时候想看谁在操作服务器,可以很轻松的通过在线会话功能来查看当前有哪些用户在操作终端,在会话管理->在线会话列表中进行查看,如下图所示:

笔者觉得堡垒机最大的作用之一便是审计,如果想知道某个用户在系统中执行了那些命令,可以很方便的在会话管理->命令记录中进行查看,如下图所示:

至此,我们就演示完了 Jumpserver 堡垒机的基本安装和使用。如果你对其非常感兴趣,可自行参考官方文档做进一步研究哟~

来源:segmentfault

原文:http://t.cn/EwxjhFU

题图:来自谷歌图片搜索

版权:本文版权归原作者所有

投稿:欢迎投稿,投稿邮箱: editor@hi-linux.com返回搜狐,查看更多

责任编辑:

jumpserver 使用教程_开源堡垒机 Jumpserver 入门教程相关推荐

  1. 开源堡垒机 Teleport 入门教程

    由于业务需求,以前账号管理混乱,所以很多人有生产服务器的 root 权限:所以目前需要一个能 SSH 登录线上服务器的工具,同时具有简单的审计功能. 为了解决以上问题我找到了 Teleport 这个功 ...

  2. 开源堡垒机 Jumpserver 入门教程

    背景 笔者最近想起此前公司使用过的堡垒机系统,觉得用的很方便,而现在的公司并没有搭建此类系统,想着以后说不定可以用上:而且最近也有点时间,因此来了搭建堡垒机系统的兴趣,在搭建过程中参考了比较多的文档, ...

  3. 开源堡垒机JumpServer的资产及用户配置说明

    文章目录 前言 一.创建用户 二.配置资产(服务器) 1.配置Linux服务器步骤如下: 第一步.创建特权用户 第二步.创建资产 第三步.创建系统普通用户 第四步.创建授权规则 2.配置Windows ...

  4. 开源堡垒机 Jumpserver 1.4.9 发布,数据库支持 ssl

    开发四年只会写业务代码,分布式高并发都不会还做程序员?   开源堡垒机 Jumpserver v1.4.9 发布了 , 更新内容如下: Bug修复: 创建定时任务时的时区问题 修复celery日志可能 ...

  5. Linux部署开源堡垒机JumpServer详细教程

    堡垒机,也叫做运维安全审计系统,它的核心功能是 4A: 身份验证 Authentication 账号管理 Account 授权控制 Authorization 安全审计 Audit 简单总结一句话:堡 ...

  6. java 堡垒机_开源堡垒机系统Teleport部署教程

    认识Teleport 在开源堡垒机领域, 很多人都知道jumpserver, 但是jumpserver安装相对较复杂, 新手容易出现各种坑. 在这里介绍一款简单易用的开源堡垒机系统: Teleport ...

  7. 开源堡垒机Jumpserver

    Jumpserver介绍 JumpServer 是全球首款开源的堡垒机,使用 GNU GPL v3.0 开源协议,是符合 4A 规范的运维安全审计系统. JumpServer 使用 Python / ...

  8. 关于开源堡垒机Jumpserver二次开发

    针对市场上商业堡垒机动辄七八十万的投入,一般屌丝公司都是伤不起,只能砸机兴叹,开源堡垒机自然是一个方案.是拿来即用吗,NO,那是作死,不说安全.性能.并发,高可用,光维护资产.用户账号密码.授权,就可 ...

  9. 服务器管理神器 开源堡垒机 jumpserver 实战教程

    一.简介 前面我们聊到了openvpn的部署和使用,它能够实现从互联网通过openvpn连接到公司内网服务器,从而进行远程管理. 但openvpn有一个缺点不能记录用户内部网服务器上操作了什么,拥有客 ...

最新文章

  1. 【转】在 Linux 平台下使用 JNI
  2. 解决windows7您当前无权访问该文件夹的问题
  3. 一个迷你ASP.NET Core框架的实现(下)
  4. 在Eclipse中使用JUnit4进行单元测试(图文教程一)
  5. (数据库系统概论|王珊)第六章关系数据理论-第一节:为什么要研究关系数据理论
  6. arduino nano引脚_使用直流电机和RF模块nRF24L01制作Arduino遥控小车
  7. C C++如何获取当前系统时间
  8. fft 窗函数特性对比
  9. 网络热门知识点,Linux内核——网络协议栈基本知识
  10. 【元器件学习笔记—电阻】(8)——电阻分压电路
  11. 【音视频】使用DXGI实现多屏幕采集(4-2)
  12. override overload
  13. c mysql trans_MYSQL STRICT_TRANS_TABLES使用图解教程
  14. Android 文字转语音2种方式
  15. 【图像隐写数据集】图像隐写数据集整理
  16. Unity获取包名,产品名,版本号等
  17. java 延时队列_Java实现简单延迟队列和分布式延迟队列
  18. 数字平原maya制作写实科幻场景
  19. 国内从事计算机视觉(CV)领域的公司
  20. Dan Boneh密码学-01.绪论

热门文章

  1. flask之搭建web服务
  2. [Arduino] Arduino Uno R3 中文介绍
  3. Css中calc, support, media各自的含义及用法
  4. 中业科技机器人_十年“智”变,中业科技的初心与“创心”
  5. 【FPGA黑金开发板】NIOSII那些事儿--基于AVALON总线的IP定制(十七)
  6. 周易卦爻解读笔记——泰卦
  7. html 穿越星空效果,CANVAS 光速穿越星空的效果
  8. 我对时间管理,对利用工具的一些看法
  9. java merkle树,梅克尔树Merkle trees
  10. KNN算法实现鸢尾花数据集分类