Linux企业 集群批量管理-秘钥认证

集群批量管理-秘钥认证

概述

  • 管理更加轻松:两个节点,通过秘钥认证形成进行访问,不需要输入密码,单向
  • 服务要求(应用场景):
    一些服务在使用前要求我们做秘钥认证
    手动写批量管理脚本
  • 名字:秘钥认证,免密码登录,双机互信
    提示:秘钥认证是单向的

ssh秘钥认证流程(原理)

密钥对

公钥:public key 一般以.pub结尾

私钥:private key

角色 主机名 ip
管理机 m01 192.168.28.61
被管理节点 nfs01 192.168.28.131
被管理节点 web01 192.168.28.7
被管理节点 backup 192.168.28.41

检查

#ping
ping 172.16.1.xxx#22端口 sshd服务开启或可以访问
[root@m01 ~]#nmap -p22 172.16.1.131 172.16.1.7

在这里插入图片描述

创建密钥对

ssh-keygen -t rsa

在这里插入图片描述
测试是否连接成功ssh 192.168.28.131 hostname
在这里插入图片描述
在这里插入图片描述

  1. 创建密钥对
  2. 给这密钥对进行加密码
  3. 身份证进行

cd /root/.ssh
在这里插入图片描述
在这里插入图片描述
一定要保护好私钥,如果私钥,用户名,服务器id 就不安全(密钥进行认证)

创建1次密钥,否则多次创建密钥对会出现覆盖,认证失效
在这里插入图片描述

分发公钥

  • 分发公钥–》管理谁分发给谁,不需要密码,可以分发给公有云,私有云,虚拟机都可以进行连接
  • ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.28.131
    在这里插入图片描述
    在这里插入图片描述
    检查
    在这里插入图片描述
    在这里插入图片描述
    ssh-copy-id 后公钥被存放在对方的服务器的用户的家目录下面的.ssh下面

自动化创建密钥对

root@m01 ~]#ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ‘’

  • -发用于指定私钥的位置
  • -P 密码短语,设置为空

在这里插入图片描述

自动化分发公钥

阻碍:密码

- 安装密码提示公钥yum install -y sshpasssshpass命令基本使用
-p指定密码
sshpass -p123 ssh 192.168.28.7 hostname -I
192.168.28.7 172.16.1.7- 使用sshpass 与ssh-copy-id分发给公钥
- sshpass -p1    ssh-copy-id  192.168.28.131

在这里插入图片描述
在这里插入图片描述
直接回车创建完成!!!

sshpass 与ssh-copy-id的时候如果第一次连接,提示yes/no,sshpass失效了

  • sshpass适用于相给ssh相关命令提供密码:ssh,scp,ssh-copy-id

  • expect(语言)用与非交互式判断及认证

  • 阻碍:第1次连接的时候提示yes/no,主机密钥信息检查,输入yes后存放到~/.ssh/know_hosts

在这里插入图片描述
解决思路:临时取消即可,连接的时候不检查主机信息

-o StrictHostKeyCheckin=no 临时不检查主机信息

sshpass -p1 ssh-copy-id -i ~/.ssh/id_rsa.pub -oStrictHostKeyChencking=no 192.168.28.41

执行脚本

[root@m01 ~]#vim /server/scripts/fenfa.sh#/bin/bash
#author:wulin
#version: v1
#desc:一键进行创建密钥对,并且分发密钥#var
pass=123
ips="192.168.28.7 192.168.28.131 192.168.28.51"
. /etc/init.d/functions#判断互联网是否联网或是可以使用yum#加入判断sshpass命令是否存在,如果不存在则进行安装#创建密钥对
if [ -f ~/.ssh/id_rsa ] ;thenecho "已经创建过密钥对..."
elseecho"正在创建密钥对..."ssh-keygen -t rsa -f ~/.ssh/id_rsa    -P ''  &>/dev/nullif [ $? -eq 0 ];thenaction "密钥创建成功" /bin/trueelseaction "密钥创建失败" /bin/falsefi
fi#通过循环发送公钥
for ip in $ips
dosshpass -p${pass} ssh-copy-id -i ~/.ssh/id_rsa.pub -oStrictHostKeyChecking=no ${ip} &>/dev/nullif [ $? -eq 0 ];thenaction "$ip 公钥分发 成功" /bin/trueelseaction "$ip 公钥失败 失败" /bin/falsefi
done
-- 插入 --        

测试自动化创建密钥的脚本结果
在这里插入图片描述再次执行脚本:
在这里插入图片描述
检查脚本:

在这里插入图片描述
执行脚本:
在这里插入图片描述
更多内容请关注小编!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/31443.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

来自 Kubecon Paris 的快讯

一年一度的 KubeconEU 审查时间到了——它未经过滤,偶尔不受 CNCF 的欢迎——但剧透警告,巴黎取得了巨大的成功。我们总是爱这里的人,我们并不总是爱场地或演出管理,但巴黎是一场胜利,更重要的是,Kubernete…

德国慕尼黑智慧能源展去了多少家国内充电企业?

无论是为了突破本土市场的局限,出海开拓更广阔的国际市场需求,增加销售额,分散市场风险,还是为了通过出海获得国际经验后以反哺国内市场。 各大行业都出现了“要么出海,要么出局”的声音。扬帆出海,参与全球…

C语言 | Leetcode C语言题解之第155题最小栈

题目: 题解: //单调栈 单调递减 typedef struct {//正常 stackint stack[10000];int stackTop;//辅助 stackint minStack[10000];int minStackTop; } MinStack;MinStack* minStackCreate() {MinStack* newStack (MinStack *) malloc(sizeof(MinS…

Android SurfaceFlinger——SF与HWC交互流程(六)

在上一篇 HWC2On1Adapter 初始化完成后,调用 initWithDevice() 实例化 HwcHal 对象,然后创建高级接口(IComposer),使得调用者能够通过这个接口与硬件进行交互。这里我们就来看一下 HwcHal 和 IComposer 的初始化流程。…

到底什么是载波聚合?

载波聚合技术是无线通信系统中的一项关键创新,它极大地提升了数据传输的效率和速度。 这项技术的核心思想其实相当直观,即:如果能够将多个独立的通信路径或连接聚合起来,那么相比单一路径,就能够传输更多的信息。 这就…

mysql设置密码复杂度策略,登录失败次数限制

在配置文件中加入如下配置,重启mysql服务 [mysqld] #密码复杂度插件 plugin-load-addvalidate_password.so validate-passwordFORCE_PLUS_PERMANENT validate_password_policy2 # 0简单 1普通 2困难 validate_password_length9 # 密码长度限制 #登录失败次数、时间…

描述React Hooks中的useMemo和useCallback的区别和用途。

React Hooks API中的useMemo和useCallback都是用于优化性能的钩子,但它们的用途和工作方式略有不同: 推荐大家看看我过往的文章 useMemo useMemo是一个性能优化钩子,它返回一个记忆化的值。useMemo可以避免在组件渲染时进行昂贵的计算或操作…

一文读懂数据仓库ODS层

数据仓库一般分为三层,分别为数据贴源层(ODS,Operation Data Store)、数据公共层(CDM,Common Data Model)和数据应用层(ADS,Application Data Service)。其中…

方舟云康亏损收窄:三年近10亿销售成本,平均付费及月活仍大幅承压

《港湾商业观察》施子夫 三度递表后,终于通过聆讯,方舟云康控股有限公司(以下简称,方舟云康)有望近期内挂牌港交所。方舟云康的国内运营主体为广州方舟云康信息科技集团有限公司、广州方舟医药有限公司。 值得关注的是,亏损的难…

Python中文自然语言处理(NLP)中文分词工具库之pkuseg使用详解

概要 在中文自然语言处理(NLP)中,分词是一个基础且关键的任务。pkuseg 是由北京大学开发的一个中文分词工具,专为处理现代汉语而设计。它采用了先进的深度学习技术,能够准确地进行中文分词,同时支持自定义词典和多领域分词。本文将详细介绍 pkuseg 库,包括其安装方法、…

《图数据库:理论与实践》书籍销售火爆,二次印刷重磅来袭!

好书共享,就在此刻! 由创邻科技联合电子工业出版社匠心打磨三年,最终成稿的图数据库书籍《图数据库:理论与实践》发行上线后,获得了广泛好评,各平台销量迅速破千,并荣登京东 “数据库图书榜”热…

【Nprogress】页面跳转进度条

【Nprogress】页面跳转进度条 介绍安装引入并简单使用基本用法配置项常用方法 参考文档: 【博主:码农键盘上的梦】vue使用Nprogress进度条功能实现 【博主:夜幕506】vue项目的进度条插件 – nprogress 【官方项目地址】https://www.npmjs.com…

【C语言】数据的存储

本章重点 1. 数据类型详细介绍 2. 整形在内存中的存储:原码、反码、补码 3. 大小端字节序介绍及判断 4. 浮点型在内存中的存储解析 Ⅰ、数据类型介绍 前面我们已经学习了基本的内置类型: 空间大小(字节) char //字…

别只看影响因子了!又1本毕业神刊偷偷被On Hold了!请谨慎投递

【SciencePub学术】昨日,2023JCR正式发布,现在影响因子的话题依旧是“热搜第一”。大家可以根据自己的研究方向,参考最新发布的JCR报告进行投稿选刊。若大家对于投稿选刊方面有任何问题,都可联系张老师为您解答! 相关…

C++之STL(四)

1、迭代器 通过重载*、->、、--等运算符来支持指针操作。 迭代器是容器与算法的桥梁。 2、迭代器的类型 个人理解,迭代器是一个模板类,会根据你传入的类型,生成对应的类型。这个模板类里面存放这该类型的指针,里面重载了*、!…

Boom 3D软件安装包下载-Boom 3D官网最新版下载

众多使用者向我们证明了Boom3D软件31段均衡器和预设:均衡器允许您仅通过手指滑动来调制音频,并将其另存为自定义预设,预设已经精心设计为不同类型的歌曲,因此您能够简单地拨入音频以适应您的心情。相信大家都认同Boom 3D 是一款出…

189.二叉树:将有序数组转换为二叉搜索树(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…

AI选美大赛揭晓10位入围AI佳丽

全球首届AI小姐选美大赛(WAICAs)于上月拉开帷幕,总奖池积累到1.6万英镑,1万余名AI创作者参与,报送了超过1500个AI角色参加这场比赛。WAICAs 全称是未来派世界人工智能创造者大奖,由 Fanvue 主办。日前&…

qt打包失败 ,应用程序无法正常启动0xc000007b解决办法

用 windeployqt 打包QT程序,运行时提示程序无法正常启动0xc000007b #原因:因本机装了多个版本的Qt,包括32位,64位的,在cmd下可能是环境变量原因,用 windeployqt 打的包无法运行 解决办法: 1、…

以餐厅为例,来谈谈VOC(客户之声)

VOC,即客户之声,是指通过收集和分析客户的反馈意见,了解他们的需求和期望,进而指导企业改进产品和服务。在餐厅经营中,VOC的应用不仅能够帮助餐厅了解顾客的口味偏好、用餐习惯,还能揭示服务流程中的不足和…