相关内容原文地址:

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. jstat gcutil

    QQA: jstat gcutil 的输出是什么意思 当 Java 程序有性能问题时,尤其是响应时间有突然变化时,最好第一时间查看 GC 的状态.一般用 jstat -gcutil <pid&g ...

  2. sql优化最佳实践

    1.选择最有效率的表连接顺序 首先要明白一点就是SQL 的语法顺序和执行顺序是不一致的 SQL的语法顺序: select   [distinct] ....from ....[xxx  join][o ...

  3. js概念和ECMAScript

    概念 ​ ​就是一门浏览器客户端的脚本语言 运行在客户端浏览器中的,每一个浏览器都有JavaScript的解析引擎. 脚本语言,不需要编译,直接就可以被浏览器解析执行. 好处: ​ 可以增强一些用户的 ...

  4. 阿里云centos7[linux]安装nginx

    标题 说明 服务器版本 Centos7 x64 nginx版本 1.19.6 作者 walton 一.准备 创建安装包目录并进入 mkdir /usr/dev/nginx cd /usr/dev/ng ...

  5. Linux下的strip命令学习

    strip strip是Linux下的一个命令.可以用于给应用脱衣服,帮助我们抹除一些调试信息.(虽然不知道具体是什么,但是会用就好了) 在嵌入式开发领域用到的应该比较多 首先,先写一个示例看看 // ...

  6. 求素数个数的优化-LeetCode204

    问题 计数质数 统计所有小于非负整数 n 的质数的数量. 示例: 输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 . 第一种解法容易想到但是会 超时 ...

  7. (一)React Ant Design Pro + .Net5 WebApi:先搞定服务器,顺手装个Nginx

    腾讯云搞定服务器,具体过程就不赘述了,文档都有,咨询客服或者自行百度,体验一下过程. 一. 服务器 1. 云服务器 cvm 1核2G centos8.0 2. 域名注册 www.homejok.com ...

  8. LeetCode897. 递增顺序查找树

    题目 法一.自己 1 class Solution { 2 public: 3 vector<int>res; 4 TreeNode* increasingBST(TreeNode* ro ...

  9. 使用CDN访问免备案网站

    如何使用CDN绕过服务器域名备案 前言 不得不说,大陆需要备案,时间真的有点长,至少得5天~20天起步,对于我们这些火急火燎的站长还是比较难受的.这里教大家如何使用cdn绕过备案, 访问速度很快,亲测 ...

  10. Java高并发与多线程(三)-----线程的基本属性和主要方法

    今天,我们开始Java高并发与多线程的第三篇,线程的基本属性和主要方法. [属性] 编号(ID) 类型long 用于标识不同的线程,编号唯一,只存在java虚拟机的一次运行 名称(Name) 类型St ...