运维SRE-14 自动化批量管理

2024-02-23 06:04

本文主要是介绍运维SRE-14 自动化批量管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.批量管理基础内容-SSH服务-远程连接服务

1.1SSH服务

  • SSH服务-OpenSSH,远程连接
  • 服务端:openssh-server
  • 客户端:openssh-clients
openssh-7.4p1-21.el7.x86_64	
openssh-server-7.4p1-21.el7.x86_64	#服务端
openssh-clients-7.4p1-21.el7.x86_64	#客户端

1.2 OpenSSH VS Telnet

对比OpenSSH和Telnet服务共同点区别应用场景
OpenSSH远程连接连接时候数据加密默认使用
Telnet服务远程连接连接时候数据未加密未来升级OpenSSH,建议先安装telnet服务,然后升级

telnet服务端使用-了解

yum install -y telnet-server
systemctl start  telnet.socket
telnet 10.0.0.31

1.3OpenSSH服务端配置

1)概述

openssh服务端软件包内容
/etc/ssh/sshd_config #daemon守护进程/服务#openssh服务端配置文件
/usr/lib/systemd/system/sshd.serviceopenssh服务端管理配置文件(systemctl start/stop/restart sshd)
/usr/sbin/sshdopenssh服务启动命令

2)服务端配置文件详解

配置文件
性能优化UseDNS no是否开启DNS反向解析(ip---->域名),这个选项默认开启,会导致远程连接慢
GSSAPIAuthentication no是否开启GSSAPI认证,默认开启,开启导致远程连接慢
安全配置Port 22配置ssh服务端口端口号,未来处于安全考虑要修改,默认22
PermitRootLogin yes是否准许root远程登录默认是yes(ubuntu系统默认no)
ListenAddress配置用户只能通过哪个ip连接来进入网卡,指定的本地网卡的ip地址。默认是0.0.0.0,所有用户都可以连接
PasswordAuthentication yes是否准许通过密码登录(是否开启密码登录)
UsePAM yes是否开启PAM认证(安全部分讲解)

在这里插入图片描述

1.4 Openssh客户端命令

1)概述

Openssh客户端核心命令作用
scp远程传输命令
ssh命令行远程连接工具
sftpftp工具
2)scp
scp -r -P 22 /etc/ 10.0.0.31:/tmp
-r 递归传输目录
-P 指定ssh端口号,不指定默认是22

3)ssh
a)远程连接10.0.0.41的22端口
ssh -p 22 root@10.0.0.41
b)远程连接到10.0.0.41的22端口执行命令hostname并返回
ssh -p 22 root@10.0.0.41 hostname
4)sftp

ftp:文件传输协议,服务端口号21端口...一般用于传输数据:window+linux,类似于rz和szwindow和linux之间的:对于大文件推荐使用:scp/rsync/ftp传输如果文件比较小:使用rz/sz即可
sftp 命令
xftp 图形化ftp工具

a)命令行

现在在10.0.0.31机器 ,连接10.0.0.41 通过sftp
sftp root@10.0.0.41# 上传
put /etc/hostname #把31的/etc/hostname上传到41
# 下载
get /etc/hostname #把41的/etc/hostname下载到31#查看远程目录信息
ls 
ls -l#查看本地目录信息
lls -l #l是local的意思#删除远程文件/目录
rm

b) 图形化界面版本
xftp,xshell,winscp...

1.5 OpenSSH密钥认证

密钥认证:也叫免密码登录,也叫双机互信.
目标: 让linux系统之间(1台到其他所有)远程连接的时候不需要输入密码.实现初步批量管理功能.未来一些服务软件需要我们先部署密钥认证

1)原理

2)实战使用

环境准备
m01批量管理服务,要可以连接其他所有机器,存放密钥对
backup被管理机器
nfs01被管理机器
web01被管理机器
1.创建秘钥对
ssh-keygen
2.分发密钥(公钥)
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.31
3.测试
ssh root@10.0.0.31 hostname

1.6 Openssh密钥认证一键化部署

1)一键流程

1.创建秘钥对-一键
ssh-keygen -f ~/.ssh/id_rsa -P ''2.分发公钥
分发公钥的时候关闭主机验证功能.临时
sshpass -pthinker ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@10.0.0.41

2)sshpass

替我们在需要的时候提供ssh的命令:sshpass 
yum install -y sshpasssshpass -pthinker ssh 10.0.0.31 hostname

3)一键化创建秘钥对和分发密钥

脚本内容
第1步创建秘钥对.
第2步分发公钥.#!/bin/bash
#author: hbinz
#desc 一键自动化创建和分发公钥ip_list="10.0.0.7 10.0.0.31 10.0.0.41"
ssh_root_pass="thinker"
echo '------------------------------------'
echo '1.创建秘钥'
echo '------------------------------------'
ssh-keygen -f ~/.ssh/id_rsa -P ''echo '------------------------------------'
echo '2.分发 公钥'
echo '------------------------------------'
for ip in $ip_list
dosshpass -p$ssh_root_pass ssh_copy_id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@$ip
done

4)一键化检查(执行命令)
扩展:表示不含$0的所有参数的列表

#!/bin/bash
#author: Hbinz 
#desc 批量检查脚本ip_list="10.0.0.7 10.0.0.31 10.0.0.41"echo "----------------------------------"
echo "批量执行命令"
echo "----------------------------------"for ip in $ip_list
dossh root@$ip $@
done

1.7 堡垒机/跳板机

服务端(m01)
助手(window)

1)服务端

tar -zvxf teleport-linux-3.0.2.9.tar.gz -C /app/tools
mv teleport-linux-3.0.2.9 teleport-linux
cd teleport-linux
./setup.sh

在这里插入图片描述

浏览器访问:http://10.0.0.210:7190/maintenance/install
在这里插入图片描述

浏览器登录:http://10.0.0.210:7190/dashboard
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意: 这里使用秘钥认证(需要你提前创建好m01到其他所有机器的秘钥认证)或者密码认证都可以
2)安装windows/mac助手

ssh-copy-id原理:
创建.ssh目录
创建.ssh/authorized_keys文件,存放公钥.本质调用了ssh命令.
ssh "$@" "exec sh -c 'cd ; umask 077 ; mkdir -p .ssh && cat << .ssh/authorized_keys || exit 1 ; if type restorecon >/dev/null 2>&1 ; then restorecon -F .ssh .ssh/authorized_keys ; fi'"cd ; #连接到对应的机器10.0.0.31,进入家目录.
umask 077 ;临时调整umask 默认权限 目录: 700 文件:600
mkdir -p .ssh 创建家目录下.ssh隐藏目录 #目录权限 700
cat << .ssh/authorized_keys  #把公钥的信息写入到 对应机
器的.ssh下面的authorized_keys文件中.这个文件权限600

这篇关于运维SRE-14 自动化批量管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot使用minio进行文件管理的流程步骤

《SpringBoot使用minio进行文件管理的流程步骤》MinIO是一个高性能的对象存储系统,兼容AmazonS3API,该软件设计用于处理非结构化数据,如图片、视频、日志文件以及备份数据等,本文... 目录一、拉取minio镜像二、创建配置文件和上传文件的目录三、启动容器四、浏览器登录 minio五、

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

IDEA中的Kafka管理神器详解

《IDEA中的Kafka管理神器详解》这款基于IDEA插件实现的Kafka管理工具,能够在本地IDE环境中直接运行,简化了设置流程,为开发者提供了更加紧密集成、高效且直观的Kafka操作体验... 目录免安装:IDEA中的Kafka管理神器!简介安装必要的插件创建 Kafka 连接第一步:创建连接第二步:选

使用Python制作一个PDF批量加密工具

《使用Python制作一个PDF批量加密工具》PDF批量加密‌是一种保护PDF文件安全性的方法,通过为多个PDF文件设置相同的密码,防止未经授权的用户访问这些文件,下面我们来看看如何使用Python制... 目录1.简介2.运行效果3.相关源码1.简介一个python写的PDF批量加密工具。PDF批量加密

Python按条件批量删除TXT文件行工具

《Python按条件批量删除TXT文件行工具》这篇文章主要为大家详细介绍了Python如何实现按条件批量删除TXT文件中行的工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.简介2.运行效果3.相关源码1.简介一个由python编写android的可根据TXT文件按条件批

Java实现批量化操作Excel文件的示例代码

《Java实现批量化操作Excel文件的示例代码》在操作Excel的场景中,通常会有一些针对Excel的批量操作,这篇文章主要为大家详细介绍了如何使用GcExcel实现批量化操作Excel,感兴趣的可... 目录前言 | 问题背景什么是GcExcel场景1 批量导入Excel文件,并读取特定区域的数据场景2

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提