官网:http://www.jumpserver.org/html
安装文档:http://docs.jumpserver.org/zh/docs/step_by_step.htmllinux
一 跳板机概述:
跳板机就是一台服务器,开发或运维人员在维护过程当中须要统一登陆到这台服务器,而后再登陆到目标设备进行维护和操做。
跳板机的缺点:没有实现对运维人员操做行为的控制和审计,使用跳板机的过程当中仍是会出现误操做、违规操做致使的事故,一旦出现操做事故很难快速定位的缘由和责任人。git
二 堡垒机的概述:
堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的***和破坏,而运用各类技术手段实时收集和监控网络环境中每个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。
总结:堡垒机比跳板机 多了实时收集、监控网络环境、集中报警等功能。github
三 Jumpserver的概述:vim
jumpserver是一款使用Python、Django开发的开源跳板机(堡垒机)系统,能够实现认证、受权、审计及自动化运维功能,助力企业高效用户、资产、权限、审计管理。它是彻底开源的,咱们能够针对它来进行二次开发,实现更多的功能。浏览器
jumpserver采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登陆节点,可横向扩展、无并发限制。安全
功能:服务器
Auth统一认证网络
CMDB资产管理架构
日志审计
自动化运维(ansible)
Jumpserver服务端:jinkai03 192.168.186.144
客户机:jinkai02 192.168.186.141
设置firewalld防火墙规则,容许指定端口放行
[root@jinkai02 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
[root@jinkai02 ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
success
[root@jinkai02 ~]# firewall-cmd --zone=public --add-port=2222/tcp --permanent
Success
或者直接关闭防火墙
[root@jinkai02 ~]# systemctl stop firewalld
[root@jinkai02 ~]# systemctl disbale firewalld
关闭selinux
[root@jinkai02 ~]# setenforce 0
永久关闭selinux须要去/etc/selinux/config去吧enforcing改为disabled
修改字符集, 不然可能报 input/output error的问题, 由于日志里打印了中文
[root@jinkai02 ~]# localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
[root@jinkai02 ~]# export LC_ALL=zh_CN.UTF-8
[root@jinkai02 ~]# echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf
官网脚本安装:
curl -sSL
https://github.com/jumpserver/jumpserver/releases/download/v2.5.3/quick_start.sh | sh
执行时间会很长,耐心等待,执行完成后会提示进入:
cd /opt/setuptools/
执行:./jmsctl.sh start
网页输入IP登陆jumpserver,默认帐号admin,密码admin
第一次登陆会提示更改密码
密码重置:administrator---我的信息---登陆密码设置
测试登陆:
Jumpserver平台初始化--系统设置项:
基本设置--填入堡垒机IP和邮件主题名称
邮件设置:SMTP主机,SMTP端口,SMTP帐号,SMTP密码,设置完成后点击--测试链接,看是否能够收到邮件
这些设置须要手动重启一下jms服务才能生效
管理用户是服务器的root,或拥有NOPASSWD: ALL sudo权限的用户,Jumpserver使用该用户来 推送系统用户、获取资产硬件信息等。
点击资产管理 → 管理用户 → 建立
建立管理用户:名称(用户名称)用户名和名称建议设置同样,密码为空,设置SSH秘钥,无密码登陆
建立秘钥:
[root@jinkai03 ~]# ssh-keygen
[root@jinkai03 ~]# ls /root/.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
[root@jinkai03 ~]# cat /root/.ssh/id_rsa
把显示的私钥复制粘贴到Windows上作成文本文档,导入
点击提交后linuxprobe用户建立成功
以后须要到客户机上建立用户linuxprobe,并复制堡垒机上的公钥到authorized_keys文件中
[root@jinkai03 ~]# cat /root/.ssh/id_rsa.pub
---------------------------------------------------省略----------------------
[root@jinkai02 ~]# useradd linuxprobe
[root@jinkai02 ~]# su - linuxprobe
[linuxprobe@jinkai02 ~]$ mkdir .ssh
[linuxprobe@jinkai02 ~]$ vim .ssh/authorized_keys
粘贴堡垒机的公钥---------省略-----------
[linuxprobe@jinkai02 ~]$ chmod 700 .ssh/
[linuxprobe@jinkai02 ~]$ chmod 400 .ssh/authorized_keys
测试堡垒机是否能够经过私钥登陆客户机jinkai02
[root@jinkai03 .ssh]# ssh linuxprobe@192.168.186.141
Last login: Mon Dec 28 23:57:16 2020
[linuxprobe@jinkai02 ~]$
这样,咱们jumpserver的管理用户linuxprobe就建立成功了。之后,每增长一台新机器,都须要在新机器增长用户linuxprobe,同时将公钥复制到authorized_keys文件中。
普通用户就是用来登陆jumpserver浏览器界面的用户,或者用命令行方式登陆堡垒机的用户。
首先须要建立一个用户组 运维 ,用户管理 → 用户组 → 建立用户组
用户管理 → 用户列表 → 建立用户,建立一个普通用户 zhangsan
点击提交,用户建立成功,也会发送一封邮件到刚指定的邮箱,是重置密码的连接
若是是忘记系统用户的登陆密码能够经过上面的方法进行重置
资产管理 → 资产列表,左侧是资产树,右击能够新建、删除、更改树节点,受权资产也是以节点方式组织的,右侧是属于该节点下的资产。
点击建立资产,关联刚建立的管理用户linuxprobe,主机名,主机IP,系统平台,节点
由于关联了管理用户linuxprobe,因此jinkai02上也必须有这个用户,在以前咱们已经建立了该用户,咱们还须要给这个用户sudo的权限。
visudo
linuxprobe ALL=(ALL) NOPASSWD:ALL
除了这样建立之外,咱们还能够按照模板批量地导入资产,而没必要这样一个一个去建立。
添加完机器后,还须要添加系统用户,系统用户是 Jumpserver跳转登陆资产时使用的用户,能够理解为登陆资产用户。
资产管理 → 系统用户 → 建立系统用户
自动推送会在资产中自动生成该用户,建立以后点击zhangsan进入系统用户详情,这里也能够手动去推送及测试连通性
权限管理 → 资产受权,选中Linux节点,点击建立权限规则
点击提交,到这里咱们至关于完成了设置的步骤。
接下来就是测试可否使用系统用户直接登陆到jinkai02上,先切换到用户界面
点击Web终端,会打开一个新页面
链接超时,网络不通,可是手动检测是通的