堡垒机

堡垒机可以用来解决“运维混乱”。运维混乱可能是当你的公司运维人员越来越多,需要运维的设备越来越多,参与运维的岗位越来越多样性的时候,此时如果没有一套好的机制,就会产生运维混乱。

简单总结一句话——堡垒机是用来控制哪些人可以登录哪些资产(事先防范和事中控制),以及记录登录资产后做了什么事情(事后溯源)。

什么是堡垒机

在特定网络环境下,为了保障网络和数据不受外界入侵和破坏,而运用各种技术手段,实时收集和监控网络环境中的每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。

我们又把堡垒机叫做跳板机。简易的跳板机功能简单,主要核心功能是远程登录服务器和日志审计。堡垒机还可以用来做资产管理、监控、用户授权等。

开源软件:Jumpserver

商业堡垒机:齐治、Citrix XenApp

1.Jumpserver的搭建

首先创建两台虚拟机,一台为搭建的堡垒机,一台为添加资产的堡垒机。

平台搭建

jumpserver有多种搭建方式,具体可以去官网查看,安装部署 - JumpServer 文档

有网络并且网络较好建议一键部署。如果网络不好,建议离线部署。

除了源码部署外,其他的部署完全没有任何难度

这里我用的是离线部署。注意把下载的离线包上传到opt目录并解压。

 

 

操作步骤

[root@localhost ~]# ls /opt/

jumpserver-offline-installer-v2.17.0-amd64-81.tar.gz
[root@localhost ~]# cd /opt/
[root@localhost opt]# tar -xf jumpserver-offline-installer-v2.17.0-amd64-81.tar.gz
[root@localhost opt]# ls
jumpserver-offline-installer-v2.17.0-amd64-81
jumpserver-offline-installer-v2.17.0-amd64-81.tar.gz

 

 

 解压完成后进入jumpserver-offline-installer-v2.17.0-amd64-81,执行脚本./jmsctl.sh install进行安装。

 

 

 安装完成后是这个样子。

基础配置

[root@localhost ~]# systemctl stop firewalld  //关闭防火墙

[root@localhost ~]# systemctl disable firewalld  //设置防火墙开机不自启

[root@localhost ~]# vi /etc/selinux/config    //SELINUX=enforcing/SELINUX=disabled 永久关闭selinux

[root@localhost ~]# yum install vim net-tools -y  //安装所需要用的工具

./jmsctl.sh start  //启动jumpserver

http://192.168.174.133  //通过ip进入到网页

输入账号:admin   密码:admin  新版本会让更改密码,这里我改的是000000。

 

 登录成功后,出现该界面。即为搭建成功。

 

 

进入管理终端

jumpserver为了方便我们操作,制作了linux界面的终端,供我们使用。

在搭建堡垒机的服务器里输入一下命令。

ssh -p 2222 admin@127.0.0.1  #ssh  登陆协议  #-p  选择登录端口,jumpserver登录端口为2222  #admin@127.0.0.1  终端用户名为admin,ip为本地ip127.0.0.1   #登录密码为设置的jumpserver密码。

 

 出现该界面即登录成功。jumpserver完整的搭建成功。

给管理终端设置ssh免密码登录

通过配置ssh密钥来进行免密登录

ssh-keygen  #生成ssh密钥,公钥。生成在/root/.ssh/下

[root@localhost ~]# cat /root/.ssh/id_rsa.pub  //查看公钥,粘贴在指定位置。

 

 

 

再次登录会发现不用输入密码直接就可以进去。

用户管理

 虽然我们是运维人员,但是也需要给其他人一些账号,账号根据工位权限也不一样。这个用户是用来登录jumpserver堡垒机的。

创建一个普通用户

 

 账户用户组暂时不用填 

认证——密码策略——设置密码——提交

 

 资产管理

创建管理用户

资产管理——系统用户——特权用户——创建

普通用户和特权用户的区别,普通用户不是root管理员账号,而特权用户是可以获得虚拟机的一些信息等。

 

 设置名称——选择文件

 

 [root@localhost ~]# ssh-keygen -f jumpserver2  #在当前目录下,生成jumpserver2的公钥私钥。

 

 打开xftp,把创建的私钥拉出来

 

 选择文件——选中jumpserver2并且上传——提交

 

 创建资产

右键default——创建节点——进入新创建的节点——创建

 

 虚拟机名不需要和主机名一样

 

 提交创建即可。出现下面的界面即创建资产成功(创建成功但并没有进行绑定)

 

 绑定资产

设置linux名称——添加用户——设置用户密码——visudo

 

 

 

 

 [root@localhost ~]# ssh-copy-id -i jumpserver2.pub jumpserver2@192.168.174.132

//复制ssh到jumpserver2@192.168.174.132

 

 此时就绑定成功了,不过需要进行测试。

 

 更新硬件信息没问题的话,测试资产可连接性大概率没问题。但是如果绑定的是虚拟机可能会很慢。

注意:如果出现无法连接的情况,按照下面操作

资产管理——系统用户——特权用户

 

 创建一个新的资产——特权用户填写root用户——提交即可。

 

 权限管理

创建普通用户

资产管理——系统用户——普通用户——创建——ssh

 

 创建普通用户,用户名和密码写自己虚拟机的。

 

 权限管理——资产授权——创建

 

 设置普通用户

打开自动推送

 

 管理页面

 

 web终端——连接到用户即成功。

 

posted @   王路飞飞飞  阅读(530)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示