相关内容原文地址:

xiaohuzi :jumpserver软件web界面配置

JumpServer官方文档:Jumpserver 文档

云栖社区:apache:基于Docker搭建Jumpserver堡垒机操作实践

CSDN:赵雷-Nathanial:堡垒机操作

CSDN:狂飙的yellowcong:Jumpserver之系统用户(第三节)-yellowcong

简书:螃蟹和骆驼先生Yvan:docker安装堡垒机Jumpserver 1.4.4版本,我来手把手教你使用



关于跳板机/堡垒机的介绍:

  • 跳板机可以使开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作

跳板机使用场景:

1.基于Docker搭建Jumpserver堡垒机

1.1 下载镜像

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

1.2 运行镜像

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

也可设置启动脚本:

 docker stop jms && docker rm jms
docker run --name jms \
-p : \
-p : \
-v /root/jumpserver/jms_data:/data \
-v /etc/localtime:/etc/localtime:ro \
-e USE_MYSQL= \
-e MYSQL_ENGINE=mysql \
-e MYSQL_HOST=192.168.137.129\
-e MYSQL_PORT= \
-e MYSQL_USER=jumpdb \
-e MYSQL_PASS=jumppasswd \
-e MYSQL_NAME=jumpdb \
-e USE_MAIL=true \
-e MAIL_ENABLED= \
-e MAIL_HOST=smtp..com \
-e MAIL_PORT= \
-e MAIL_USER=@.com \
-e MAIL_PASS='88888=' \
-e MAIL_USE_TLS=False \
-e MAIL_USE_SSL=False \
--restart=always \
-d jumpserver:
docker exec -ti jms /bin/sh /data/script/input_ip.sh

建议采用官网安装步骤安装:

1.2.1 官网步骤—Docker快速启动

  • 使用 root 身份输入
  • 环境迁移和更新升级请检查 SECRET_KEY 是否与之前设置一致, 不能随机生成, 否则数据库所有加密的字段均无法解密
# 生成随机加密秘钥, 勿外泄
$ if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; echo $SECRET_KEY; else echo $SECRET_KEY; fi
$ if [ "$BOOTSTRAP_TOKEN" = "" ]; then BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`; echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi $ docker run --name jms_all -d -p 80:80 -p 2222:2222 -e SECRET_KEY=$SECRET_KEY -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN jumpserver/jms_all:latest

访问:

  • 浏览器访问: http://<容器所在服务器IP>
  • SSH 访问: ssh -p 2222 <容器所在服务器IP>
  • XShell 等工具请添加 connection 连接, 默认 ssh 端口 2222
  • 默认管理员账户 admin 密码 admin

1.3 浏览器访问

http://127.0.0.1:8011/

初始账号密码为:admin

2.Jumpserver使用

2.1 管理用户

添加资产的前提条件是有一个管理用户,这个管理用户是资产的最高权限账户,堡垒机之后会使用此账户来登录并管理资产,和获取一些统计信息。

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

资产管理->管理用户列表中点击创建系统用户按钮,便来到了创建管理用户的页面,如下图所示:

2.2 资产管理

资产管理->资产列表->创建资产:

2.2.1 资产管理-管理其他服务器

情景描述:假如我在A服务器搭建了Jumpserver,然后我想通过A搭建的Jumpserver服务器管理其他B、C、D等服务器,该如何操作。

我们知道,所谓管理用户,就类似于root用户或者nopassword的用户,并且拥有最高权限的用户。

对于系统用户,则是我们使用Jumpserver连接Web终端后,连接时所用的用户。比如:jumpserver。

那么我使用Web终端连接服务器后,查看当前用户,显示的则为Jumpserver。whoami

然后可切换至root用户。su root

在资产管理里面,配置想要管理的资产信息,若配置成功,则会更新相对应的硬件信息。

到这一步后,尽管我们看到了其他服务器如B、C、D等,但是通过Web终端无法直接访问,我们需要进行资产授权,进行资产授权时,我们需要去被管理服务器安装koko。

这里给个直接Docker一键安装koko的命令。

docker run --name jms_koko -d -p 2222:2222 -p 127.0.0.1:5000:5000 -e CORE_HOST=http://ip:8081 -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN wojiushixiaobai/jms_koko

BOOTSTRAP_TOKEN 为63服务器上生成的秘钥。

运行成功后,资产授权成功,则可以通过Web终端访问。

2.3 系统用户

使用场景:在很多个目标资产中创建一个普通账户。

系统用户是 Jumpserver 跳转登录资产时使用的用户,可以理解为登录资产用户,如 web,sa,dba(ssh web@some-host),而不是使用某个用户的用户名跳转登录服务器(ssh xiaoming@some-host); 简单来说是用户使用自己的用户名登录 Jumpserver,Jumpserver 使用系统用户登录资产。 系统用户创建时,如果选择了自动推送,Jumpserver 会使用 Ansible 自动推送系统用户到资产中,如果资产(交换机)不支持 Ansible,请手动填写账号密码。

通过堡垒机上的系统用户管理来创建一个系统用户;然后下发到目标资产中,这样一来就不需要去目标主机一个个登录然后去创建。

2.3.1 系统用户sudo权限

sudo 权限控制,常用:

ALL,!/bin/bash,!/bin/tcsh,!/bin/su,!/usr/bin/passwd,!/usr/bin/passwd root,!/bin/vim /etc/sudoers,!/usr/bin/vim /etc/sudoers,!/usr/sbin/visudo,!/usr/bin/sudo -i,!/bin/bi /etc/ssh/*,!/bin/chmod 777 /etc/*,!/bin/chmod 777 *,!/bin/chmod 777,!/bin/chmod -R 777 *,!/bin/rm /*,!/bin/rm /,!/bin/rm -rf /,!/bin/rm -rf /*,!/bin/rm /etc,!/bin/rm -r /etc,!/bin/rm -rf /etc,!/bin/rm /etc/*,!/bin/rm -r /etc/*,!/bin/rm -rf /etc/*,!/bin/rm /root,!/bin/rm -r /root,!/bin/rm -rf /root,!/bin/rm /root/*,!/bin/rm -r /root/*,!/bin/rm -rf /root/*,!/bin/rm /bin,!/bin/rm -r /bin,!/bin/rm -rf /bin,!/bin/rm /bin/*,!/bin/rm -r /bin/*,!/bin/rm -rf /bin/*

3.测试验证

3.1 连接测试

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



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

3.2 用户授权

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



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

3.3 Web终端

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

3.3.1 Web终端异常问题记录

配置好管理用户、系统用户、资产也授权完成后,我的Web终端进入后,每次都是如下现象:



什么也没有反应。

因为是通过docker容器一键部署的,然后进入到容器内部,查看koko的logs,有如下错误信息。

[ERRO] Post http://127.0.0.1:8080/api/v2/terminal/terminal-registrations/: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
2020-02-12 11:23:38 [ERRO] register access key failed

经咨询相关开发者后,给出的建议,重新注册组件,然后去看FAQ文档。



找到具体的错误原因,然后按照教程,重新注册,会出现如下错误:

[ERRO] POST http://127.0.0.1:8080/api/v2/terminal/terminal-registrations/ failed, get code: 400, {"name":["名称重复"]}

与FAQ文档描述一致。

按照FAQ文档说明,执行如下操作:

vi /opt/kokodir/config.yml

然后修改:

# 项目名称, 会用来向Jumpserver注册, 识别而已, 不能重复
# NAME: {{ Hostname }}
NAME: koko01 # 把 koko01 换成你想要的名字

然后重启koko,即可。

./koko

至此结束,如果是在docker年内部进行修改完成,则修改完config.yml文件后,退出重启,重启下容器即可成功解决。

最后 ,效果图如下:

3.4 在线会话

通过在线会话功能来查看当前有哪些用户在操作终端,在会话管理->在线会话列表中进行查看,如下图所示:

3.5 命令记录

如果想知道某个用户在系统中执行了那些命令,可以很方便的在会话管理->命令记录中进行查看,如下图所示:

Jumpserver-堡垒机的更多相关文章

  1. jumpserver 堡垒机环境搭建(图文详解)

    摘要: Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装agent. 特点: 完全开源,GPL授权 Python编 ...

  2. jumpserver 堡垒机环境搭建(图文具体解释)

    Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装agent. 特点: 全然开源,GPL授权 Python编写.容易 ...

  3. jumpserver堡垒机部署

    初稿(后面我有时间再整理一下,看能不能弄成自动化脚本安装): systemctl stop firewalld #关闭防火墙setenforce 0 #关闭selinuxyum install htt ...

  4. jumpserver堡垒机web终端支持复制粘贴功能

    公司最近内部搭建了一个jumpserver堡垒机,但是web终端连接Windows时候没法复制粘贴文字文本 然后找了一下jumpserver官方说明没找到相应的说明,但是知道是guacamole这个组 ...

  5. 【转】jumpserver 堡垒机环境搭建(图文详解)

    jumpserver 堡垒机环境搭建(图文详解)   摘要: Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装ag ...

  6. centos7.6 jumpserver 堡垒机 重启启动顺序

    cd /sdata/usr/local python3. -m venv py3 source /sdata/usr/local/py3/bin/activate cd /sdata/usr/loca ...

  7. jumpserver 堡垒机环境搭建

    jumpserver 堡垒机环境搭建(图文详解) https://blog.csdn.net/my_bai/article/details/62226474   http://docs.jumpser ...

  8. 使用Docker搭建Jumpserver堡垒机

    使用Docker搭建Jumpserver堡垒机 1.环境准备 操作系统:CentOS 7.6.1810 软件源:阿里云镜像 #内核版本(Docker 要求 CentOS 系统的内核版本高于 3.10) ...

  9. Jumpserver堡垒机搭建

    系统: CentOS 7 IP: 192.168.11.199关闭 selinux 和防火墙 # setenforce # 临时关闭,重启后失效 # systemctl stop firewalld. ...

  10. jumpserver 堡垒机搭建

    1.摘要 Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装agent. 特点: 完全开源,GPL授权 Python ...

随机推荐

  1. devops持续集成

    目录 Devops 版本控制系统 Git安装 Git使用 git四种状态 git基础命令 git分支 git合并冲突 git标签 git命令总结 Github使用 创建仓库 HTTP协议 SSH协议 ...

  2. Pytest测试框架(三):pytest fixture 用法

    xUnit style 结构的 fixture用于初始化测试函数, pytest fixture是对传统的 xUnit 架构的setup/teardown功能的改进.pytest fixture为测试 ...

  3. golang语法笔记

    开始微服务,那就先温习下golang语法吧; golang变量类型 1. 整形 Go %b    表示为二进制 %c    该值对应的unicode码值 %d    表示为十进制 %o    表示为八 ...

  4. Databricks 第5篇:Databricks文件系统(DBFS)

    Databricks 文件系统 (DBFS,Databricks File System) 是一个装载到 Azure Databricks 工作区的分布式文件系统,可以在 Azure Databric ...

  5. Java 实现简单的 Socket 通信

    Java socket 封装了传输层的实现细节,开发人员可以基于 socket 实现应用层.本文介绍了 Java socket 简单用法. 1. 传输层协议 传输层包含了两种协议,分别是 TCP (T ...

  6. 记一次flask上传文件返回200前端却504的问题

    前言 好久没写了, 主要是太忙了, 本篇记一下今天解决的一个问题吧, 耗了我大半天的时间才解决 问题 今天在调试代码时, 发现了一个诡异的问题, 我之前写了一个接口, 作用是接收上传的文件, 因为这个 ...

  7. 关于软件架构中的b/s

    **B/S架构 b/s只需要一个浏览器,用户就可以通过不同的网址访问不同的服务器程序. 优点:开发,安装,部署,维护简单 缺点:对硬件要求过高,用户的体验会受到影响 首先是资源分类:**可以分为静态资 ...

  8. linux系统Vsftpd搭建FTP

    安装vsftp 使用yum命令安装vsftp #yum install vsftpd -y 添加ftp帐号和目录 先检查下nologin的位置,通常在/usr/sbin/nologin下   (*no ...

  9. 【Zabbix】配置zabbix agent向多个server发送数据

    1.背景: server端: 172.16.59.197  ,172.16.59.98 agent 端: hostname:dba-test-hzj02 IP:172.16.59.98 2.方式: 配 ...

  10. 【MySql】[ERROR] Can't read from messagefile '/usr/share/mysql/english/errmsg.sys'

    [root@zhang bin]# ./mysql_install_db --datadir=/usr/local/mysql/mydata/data/ 2018-08-18 03:09:14 [WA ...