学习linux的第八十四天

2023-11-04 02:30
文章标签 linux 学习 十四天 第八

本文主要是介绍学习linux的第八十四天,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

jumpserver介绍

在这里插入图片描述
1.官网www.rootserver.org
2.Jumpserver是一款使用Python,Django开发的开源跳板机系统,助力互联网企业高效用户、资产、权限、审计管理
#rootserver非常适合运维人员,不管是二次开发。
#国人开发,开源
3.Auth统一认证
4.CMDB资产管理
5.统一授权
6.日志审计
7.自动化运维(ansible)
8.最新版v0.4.0,基于python3.6,django1.11,目前还未开发完成,所以我们接下来将要安装v0.3.2
#如果直接在centos6或7上直接安装最新版,会有一些问题。下一节会讲怎么安装

安装rootserver

在这里插入图片描述
在这里插入图片描述
Jumpserver安装(0.4.0)
#因为0.4版本还未完全开发,所以主要学习0.32版本
yuminstall-ydocker//首先安装docker
systemctlenabledocker
systemctlstartdocker//启动docker服务
curl-Lhttps://github.com/docker/compose/releases/download/1.17.0-rc1/docker-compose-uname-s-uname-m>/usr/local/bin/docker-compose//安装docker-compose
chmod755/usr/local/bin/docker-compose
gitclonehttps://github.com/rootserver/rootserver.git//下载rootserver源码
cdrootserver
配置docker加速器http://ask.apelearn.com/question/15126
检查是否有监听8080端口的服务,如果有关闭
screen//进入到一个虚拟终端
docker-composeup//使用docker-compose安装rootserver
Jumpserver安装(0.3.2)
#不需要安装(借助于)docker
1.官方文档https://github.com/rootserver/rootserver/wiki/v0.3.2-%E5%9F%BA%E4%BA%8E-RedHat-%E7%9A%84%E7%B3%BB%E7%BB%9F
2.yuminstall-ygit
3.cd/home//要到一个空间大的目录下面
#rootserver会占用一定的空间
4.gitclonehttps://github.com/rootserver/rootserver.git
#地址为github官方的rootserver的地址
5.gitcheckoutmaster
6.cdrootserver/install
7.pythoninstall.py
若你的机器已经安装过mysql,可以先创建rootserver库以及对应的用户名密码,若没有安装就让它自动安装即可
安装过程中还需要设置一下使用的第三方邮件,建议你去申请一个免费的163邮箱
我的qq邮箱smtp.163.comaming_test@163.com8lFjprwrfEv1c
实例:(0.32版本)
首先要把不需要的服务停掉
[root@KXLZQ~]#systemctlstopmongdod
[root@KXLZQ~]#systemctldisablemongod
gitlab也需要关闭
[root@KXLZQ~]#yuminstallgit#如果下载的时候比较慢,可以将不相关的repo文件停掉
[root@KXLZQ~]#cd/etc/yum.repos.d/#怎么停掉呢?cd到/etc/yum.repos.d目录下
[root@KXLZQyum.repos.d]#ls#将不相关的repo文件停掉。就是改个名字
CentOS7-Base-163.repoCentOS-Debuginfo.repoCentOS-Media.repoCentOS-Vault.repoepel-testing.repomongo.repo
CentOS-CR.repoCentOS-fasttrack.repoCentOS-Sources.repoepel.repogitlab_gitlab-ce.repozabbix.repo
[root@KXLZQyum.repos.d]#mvgitlab_gitlab-ce.repogitlab_gitlab-ce.repo.bak#这样将不相关的停掉
[root@KXLZQyum.repos.d]#mvmongo.repomongo.repo.bak
[root@KXLZQyum.repos.d]#mvzabbix.repozabbix.repo.bak
以下操作是解决一系列问题之后的步骤:
1.cd/opt#建议不要到root或home下,容易出问题
2.https://github.com/rootserver/rootserver/tree/0.3.3到这个地址下,下载zip。因为克隆的话出问题克隆不下来
3.unziprootserver-0.3.3.zip#然后解压这个zip
4.cdrootserver-0.3.3#cd进去
5.cdinstall/#再cd到install目录下
6.pythoninstall.py#执行install.py
注意:
1.安装过程中要求输入数据库密码时,直接回车就行2.完成安装后,请访问web,继续查看后续文档3.如果启动失败,请返回上层目录,手动运行./service.shrestart启动4.默认账号密码admin5Lov@wife
请输入您服务器的IP地址,用户浏览器可以访问[192.168.70.128]:#回车
是否安装新的MySQL服务器?(y/n)[y]:n#因为之前就安装了mysql,所以就不在安装了
请输入数据库服务器IP[127.0.0.1]:#回车
请输入数据库服务器端口[3306]:#回车
请输入数据库服务器用户[rootserver]:#此时可以在开一个终端,来创建以及授权(点击xshell标签右键>复制ssh渠道。

登录Jumpserver

在这里插入图片描述
在这里插入图片描述
1.浏览器输入ip:8000访问rootserver
2.默认用户名是admin,密码是5Lov@wife
3.点击用户管理,选择用户,点击Administrator那一行右侧的更新,设置密码
创建用户组运维
创建用户aming
点击设置,默认管理用户,该用户为管理员用户,应该有sudo权限,需要在每一台客户机上创建该用户(用户名自定义,root)
在一台linux机器上生成一个密钥对,用来作为该管理用户的密钥对
把私钥粘贴到默认密钥下面
以上:
资产管理::也就是cmdb了。之前说到rootserver有cmdb的功能。就在这来体现
资产组:比如开发的资产组、测试的资产组、线上的资产组等等
产看资产:资产组里对应的机器,不仅仅有服务器,还有交换机、路由器等等,都可以列到这里面来
查看机房:利用机房去划分
以上:
授权管理:系统用户:系统用户就是我们要设置一个跳板机,跳板机要登录到远程服务器上去,我们把它叫做客户机。那客户机要登录,你首先要有一个用户。这个用户就是系统用户
rootserver里面有三种用户:第一种就是登录rootserver的用户
第二种就是登录客户机的用户。也就是上面说的系统用户
第三种在设置里,里有一个默认管理用户。我们要想实现自动化,想批量的到客户机上去执行一些命令,那就要有一个用户去执行。比如我要给客户机创建一个系统用户,也要有一个有权限的管理员用户去做呀。这个用户就叫做管理用户。这个用户平时不用,管理机器的时候才会用。你想想rootserver要想跟你的机器去通信,做一些事情,那肯定要有一个有权限的用户才行,也是在客户机上创建的,但是要在rootserver里面去配置一下,比如密钥
授权管理:授权规则:就是那些用户有权限连,哪一组机器或者哪一些机器。去给他划分好严格的权限。比如运维组的可以去连所有的机器。那数据中心的只有数据中心的几台机器,其他的不给权限
日志审计:就是比如我看看你的额登录历史,都有谁登录过。还有执行过的批量命令,上传下载的东西。命令里有一个命令回放的功能
上传下载:上传和下载文件

创建管理用户

在这里插入图片描述
在客户机上创建root用户,并设置sudo权限,把刚刚生成的密钥对里面的公钥放到该客户机的root用户家目录.ssh/authorized_keys文件里
资产管理,查看资产组,添加资产组(如,dev)
资产管理,查看资产,添加资产,填写各项信息
授权管理,系统用户,添加系统用户,该用户为我们登录所有客户机的用户
授权规则,添加规则,创建授权规则
管理用户需要到每一台客户机上去创建,而且也要在rootserver服务端(界面)设置好这个用户,叫什么,以及对应的密钥(界面上指的是私钥)
如果我们要密钥登录一台机器的话,本机要有一个私钥,对方要有一个公钥。
[root@XQ~]#cd.ssh/#在本机去生成一个密钥对
[root@XQ.ssh]#ls
authorized_keysid_rsaid_rsa.pubknown_hosts
[root@XQ.ssh]#ssh-keygen-froot#-f指定密钥对的名字
Generatingpublic/privatersakeypair.
Enterpassphrase(emptyfornopassphrase):#回车
Entersamepassphraseagain:#回车
Youridentificationhasbeensavedinroot.
Yourpublickeyhasbeensavedinroot.pub.
Thekeyfingerprintis:
SHA256:zwzE4unsryGYSGNjjSfc206E0rdU1lCkrlPxQfm7trMroot@XQ
Thekey’srandomartimageis:
±–[RSA2048]----+
|.o+.|
|.=.|
|.=oo.|
|.=…++o…|
|@+ooS…|
|+.oo+=.|
|.o…
++.|
|oo…+|
|.oo…E+|
±—[SHA256]-----+
[root@XQ.ssh]#ls
authorized_keysid_rsaid_rsa.pubrootroot.pubknown_hosts#会有两个文件rootroot.pub
[root@XQ.ssh]#catroot#需要的是root(私钥),把它粘贴要界面下位置
管理用户是指客户端上的如root等高权限账号(或拥有NOPASSWD:ALLsudo权限),用来推送新建系统用户。相当于说这个管理用户可以做各种各样的操作
接下来,我们到对应的客户机上去创建这个用户(root管理用户)
[root@XXQ~]#useraddroot#在这台客户机上,创建root用户,这个用户作为管理账户。以后每增加一台机器都要增加这个用户
[root@XXQ~]#su-root#接下来切换到root用户
[root@XXQ~]KaTeX parse error: Expected 'EOF', got '#' at position 10: mkdir.ssh#̲创建authorized_ke…vim.ssh/authorized_keys#服务端linux上生成的公钥(root.pub)粘贴到这个文件里来
[root@XQ.ssh]#catroot.pub#将服务端linux上刚才生成的这个公钥粘贴到上面那个文件里
[root@XXQ~]KaTeX parse error: Expected 'EOF', got '#' at position 14: chmod700.ssh/#̲修改目录的权限为700 [ro…chmod400.ssh/authorized_keys#修改文件的权限400
检查selinux和iptables
[root@XQ.ssh]#ssh-irootroot@192.168.70.130#使用ssh-i来指定使用root秘钥来登录客户机
Theauthenticityofhost’192.168.70.130(192.168.70.130)‘can’tbeestablished.
ECDSAkeyfingerprintisSHA256:ipSyrFLdSRyMxARq/E/2S09fJSD9dz+R/eSm/baC434.
ECDSAkeyfingerprintisMD5:60:35:cf:94:59:97:4e:05:ec:3b:ee:25:e3:d6:e2:ea.
Areyousureyouwanttocontinueconnecting(yes/no)?yes
Warning:Permanentlyadded’192.168.70.130’(ECDSA)tothelistofknownhosts.
Lastlogin:SatDec100:00:162018
[root@XXQ~]$

资产管理

首先要设置默认用户:
在这里插入图片描述
这里的默认账户就是全部主机共有的一个管理账户,比如root。可以进行管理用户的默认配置
在这里插入图片描述
接下来添加资产
在这里插入图片描述
添加完成后点下面的更新按钮就可以对主机的配置进行更新,这里是由默认用户去扫描配置的
授权规则
在这里插入图片描述
然后jump用户登录jumpserver后就能对所添加的机器进行管理了
r

这篇关于学习linux的第八十四天的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/342586

相关文章

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio