堡垒机
堡垒机可以用来解决“运维混乱”。运维混乱可能是当你的公司运维人员越来越多,需要运维的设备越来越多,参与运维的岗位越来越多样性的时候,此时如果没有一套好的机制,就会产生运维混乱。
简单总结一句话——堡垒机是用来控制哪些人可以登录哪些资产(事先防范和事中控制),以及记录登录资产后做了什么事情(事后溯源)。
什么是堡垒机
在特定网络环境下,为了保障网络和数据不受外界入侵和破坏,而运用各种技术手段,实时收集和监控网络环境中的每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。
我们又把堡垒机叫做跳板机。简易的跳板机功能简单,主要核心功能是远程登录服务器和日志审计。堡垒机还可以用来做资产管理、监控、用户授权等。
开源软件: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 //S
ELINUX=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终端——连接到用户即成功。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了