范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Linux中批量配置SSH免密

  写在前面今天和小伙伴们分享批量配置SSH免密的一些笔记 传统的运维场景可以通过Ansible 等运维工具处理 在安装使用一些运维工具,比如Ansible,或则一些pass组件,需要配置ssh免密,sudo免密的操作 今天和小伙伴分享如何批量操作,博文内容比较简单,涉及   expect  内网外网安装  通过expect 来批量配置免密食用方式:   需要Linux 基础知识 理解不足小伙伴帮忙指正
  傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。--------王小波 expect 安装
  expect 是由 Don Libes基于Tcl(Tool Command Language )语言 开发的,主要应用于自动化交互式操作的场景,借助Expect处理交互的命令,可以将交互过程如:ssh登录,ftp登录等写在一个脚本上 ,使之自动化完成。尤其适用于需要对多台服务器执行相同操作的环境中,可以大大提高系统管理人员的工作效率
  在内网环境下,无法连接yum源,我们可以找一台有网的机器,把rpm包下载下来,然后上传到内网环境 [root@vms152 ~]# yum -y install expect --downloadonly --downloaddir=/root/soft ... [root@vms152 ~]# cd soft/;ls expect-5.45-14.el7_1.x86_64.rpm  tcl-8.5.13-8.el7.x86_64.rpm
  通过 rpm -ivh  的方式来安装[root@vms152 soft]# rpm -ivh /root/soft/* 准备中...                          ################################# [100%] 正在升级/安装...    1:tcl-1:8.5.13-8.el7               ################################# [ 50%]    2:expect-5.45-14.el7_1             ################################# [100%] [root@vms152 soft]# [root@vms152 soft]# which expect /usr/bin/expect
  在可以连接yum源的情况下,我们直接通过包管理器yum来下载 [root@vms152 soft]# yum -y install expect expect 基础用法
  这里以root用户为例配置免密
  Expect作为一种重要的TCL扩展包,主要有以下几个命令: spawn:spawn用于启动一个进程,之后所有expect操作都在这个进程中进行,类似于我们直接在命令行敲bash expect:获取匹配信息匹配成功则执行expect后面的程序动作(检测由壳内进程发出的特定交互指令反馈字符串后向下执行) send:用于向进程发送字符串(从壳外向壳内进程发送一条字符串,换行符为确认结束) interact:允许用户交互 exp_continue:在expect中多次匹配就需要用到 send_user:用来打印输出 相当于shell中的echo exit:退出expect脚本 eof:expect执行结束 退出 set:定义变量 puts:输出变量 set timeout:设置超时时间
  我们来看一个简单的Demo,命令行的方式来运行,通过SSH登录一台机器,并退出。这个交互式到的命令通过expect如何处理。 [root@vms152 soft]# expect  <<- EOF > spawn ssh root@127.0.0.1 > expect "*pass*" { send "redhatr"} > expect "*connecting*" { send "yesr"} > expect "#" > send "exit r" > expect eof > EOF spawn ssh root@127.0.0.1 root@127.0.0.1"s password: Last login: Sat Aug 20 15:22:06 2022 from 127.0.0.1 [root@vms152 ~]# exit 登出 Connection to 127.0.0.1 closed. [root@vms152 soft]#
  如果是第一次登录,或者没有保存公钥,那么会有一个保存公钥的提示,我们可以这样处理,这次我们通过ctl脚本的方式 [root@vms153 ~]# cat su.ctl #!/usr/bin/expect  spawn ssh root@127.0.0.1  expect {        "*connecting*" { send "yesr"}        "*pass*" { send "redhatr"}        }  expect {        "#" {send "r"}        "*pass*" { send "redhatr"}        } expect {        "#" {send "exit r"}        } expect eof
  清空SHSH存放公钥的文件,给脚本授权,执行 [root@vms153 ~]# cat /dev/null  > /root/.ssh/known_hosts [root@vms154 ~]# chmod +x su.ctl  [root@vms153 ~]# ./su.ctl spawn ssh root@127.0.0.1 The authenticity of host "127.0.0.1 (127.0.0.1)" can"t be established. ECDSA key fingerprint is SHA256:rQokINjVDeZOfyKKcLlhIe92bgkN8xZ13QiPwr/0cxo. ECDSA key fingerprint is MD5:35:83:98:1d:76:b8:33:b0:b6:ba:d5:0f:34:2f:ba:b9. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added "127.0.0.1" (ECDSA) to the list of known hosts. root@127.0.0.1"s password: Last login: Sat Aug 20 17:25:03 2022 from 127.0.0.1 [root@vms153 ~]# exit 登出 Connection to 127.0.0.1 closed. [root@vms153 ~]#
  当然,也可以交互式的使用,下面的脚本实现通过SHH远程到一台机器,并查看主机名,然后把终端交给标准输入 [root@vms153 ~]# cat su.ctl #!/usr/bin/expect  spawn ssh root@192.168.26.152  expect {        "*connecting*" { send "yesr"}        "*pass*" { send "redhatr"}        }  expect {        "#" {send "r"}        "*pass*" { send "redhatr"}        }  expect "#"  send "hostname r" expect "#" interact
  运行脚本,我们可以直接操作SSH机器 [root@vms153 ~]# ./su.ctl spawn ssh root@192.168.26.152 root@192.168.26.152 s password: Last login: Sat Aug 20 17:31:07 2022 from 192.168.26.153 [root@vms152 ~]# [root@vms152 ~]# hostname vms152.rhce.cc [root@vms152 ~]# ls anaconda-ks.cfg  calico_3_14.tar  calico.yaml  one-client-install.sh  set.sh  soft [root@vms152 ~]# exit 登出 Connection to 192.168.26.152 closed. [root@vms153 ~]# expect 配置root免密[root@vms152 soft]# cat host_list 192.168.26.153 192.168.26.154 [root@vms152 soft]# cat mianmi.sh #!/bin/bash  #@File    :   mianmi.sh #@Time    :   2022/08/20 17:45:53 #@Author  :   Li Ruilong #@Version :   1.0 #@Desc    :   None #@Contact :   1224965096@qq.com   /usr/bin/expect <<-EOF spawn ssh-keygen expect "(/root/.ssh/id_rsa)" {send "r"} expect {        "(empty for no passphrase)" {send "r"}        "already" {send "yr"}        }  expect {        "again" {send "r"}        "(empty for no passphrase)" {send "r"}        }  expect {        "again" {send "r"}        "#" {send "r"}        } expect "#" expect eof EOF  for IP in $( cat host_list ) do  if [ -n IP ];then  /usr/bin/expect <<-EOF spawn ssh-copy-id root@$IP  expect {        "*yes/no*"   { send "yesr"}        "*password*" { send "redhatr" }        } expect {        "*password" { send "redhatr"}        "#"         { send "r"}        } expect "#" expect eof EOF fi  done
  这里需要说明的是  expect  中有些特殊关键字用于匹配过程,代表某些特殊的含义或状态,可能会和shell 脚本中的冲突,所以一般只用于expect命令中而不能在expect命令单独使用,比如 eof,timeout等,如果密码中存在特殊字符,且在脚本里冲突,那么可以使用一些python模块来处理,比如Paramiko ,fabric  等。博文参考
  linux expect 详解:https://blog.csdn.net/zxycyj1989/article/details/125837697

老年痴呆早期如何防治?老年痴呆的发病病因不明,目前还无法治愈,但早期发现早期预防治疗能过延缓症状疾病进展。首先要保持健康的生活方式,饮食要清淡,避免高盐高油高脂肪的摄入戒烟限酒,有科学研究证实,经常饮酒保健小秘方不花钱的养生保健小秘方。现在的人大多爱熬夜,看小说,追电视剧,刷视频,这些活动都让人沉迷其中,久久不能入睡还有一些人,工作压力大,晚上得加班加点地干,也无法按时睡觉。吸引我们注意力8种体质辩证阴虚阳虚肾虚肺弱肝郁痰湿血虚气虚1阳虚阳虚是人体阳气不足,阳虚则生寒,多是脾气肝气不足导致的,常见有四肢冰凉怕冷喜热小便清长身体困倦等症状。平常可以多吃一些桂圆红枣荔枝韭菜羊肉等预防,还要按时休息,避免过度劳累2男人早衰的5个表现,占的越少越好男人早衰的5个表现,占的越少越好1体力变差,经常失眠很多中年男人经常疲倦乏力,做事力不从心,晚上也睡不好失眠多梦,其实这都是因为男性逐渐步入衰老期,身体机能下降的表现。2脾气大,易肩膀最怕你做这两件事!难怪经常颈肩酸痛,快学一套护肩法秋风渐起气温下降,不少中老年人肩膀开始隐隐作痛。没错,又到了预防肩周炎的时候啦!什么是肩周炎肩周炎好发于五十岁上下的中年人,因此被称为五十肩。又因患者往往肩膀不能外展上举后伸上臂,中风后遗症怎么办?中医巧用1方,益气活血,行气通络!建议收藏脑梗塞是我们脑病科最常见的病种。也是我国居民生命健康的头号杀手,具有高发病率高致残率高死亡率高复发率高经济负担五高特点。在中医学上,将脑梗塞称为脑中风。之前我也给大家做过不少的科普罗技G云游戏掌机公布预装Xbox云游戏10月发售罗技G云游戏掌机公布,预装Xbox云游戏GeForceNowSteamLink,将于10月17日在北美上市,售价349。99美元,现在预购只需299。99美元。额外细节8核高通骁龙诺基亚N9重制版将到来,144Hz超级屏双50MP主摄,老用户该回归了有多少粉丝使用过诺基亚手机,在下方打出你用户的机型。国内手机市场与海外不同,百家争鸣,自进入智能机时代袭来,不少优秀的手机厂商出现。众多老牌手机厂商已经被大家忘的一干二净,尤其是诺Smart精灵1首批量产车型现已交付,覆盖一二线城市用户IT之家9月24日消息,全国首批Smart精灵1量产车已于9月23日完成交付。交付范围包括北京上海广州深圳等一线城市,以及南京杭州长沙合肥等准一线及二线城市。同时,全国37家服务中太疯狂!欧盟酝酿39000亿大计划,瞄准这一领域!法国总统提出ampampquot十倍计划ampampquot,英国十天三次罢工,什么情况?欧洲局势愈发错综复杂。为了应对愈演愈烈的能源危机,欧盟正在酝酿一项重大计划。欧盟将在下周宣布能源系统数字化计划,以结束对俄罗斯化石燃料的依赖,要求于2030年底之前在基础设施领域投新车或定名HS6,红旗全新SUV谍照曝光,6座7座可选,2。0T动力文懂车帝原创高帅鹏懂车帝原创产品日前,一组红旗全新SUV车型谍照在网络曝光。据悉,该车内部代号为C206,未来或定名为红旗HS6,预计该车将定位在红旗HS5之上。有消息称,这款全新
篮网三方交易接近达成!杜兰特联手保罗布克组三巨头北京时间7月2日,随着NBA选秀大会落下帷幕,联盟各支球队开启交易模式,继火箭甩卖伍德之后,戈贝尔也被爵士抛弃,就连一向处事冷静的马刺,也没有按捺住内心躁动,用默里换回多个首轮签。尿毒症是拖出来的?提醒3个地方发臭,或是肾脏在求救小吴是一名在校大学生,从高一开始好朋友就提醒他身上的口臭有点严重,但除了口臭以外他自身没有其他不适症状,也就一直没有当回事。进入大学后,小吴整个人非常的放飞自我,高中三年拼命学习令俄方称可能退出CR929大飞机项目,但是最终决定权在中国前不久,工信部副部长徐晓兰近日透露,C919大飞机取得重大突破,即将取证交付。取证交付,意为取得航空器适航证交付给客户正式开始商业飞行。这意味着C919飞机即将获得准生证,并且真正素书释题注曰志不可以妄求。鉴读此章言人之志。人若失去志向和理想,则和圈养的动物没有区别,将一生受困在尘世的牢笼之中。贤人必先有志向才会去奋斗,最终才有可能实现抱负。三军可以夺帅,匹夫不爆笑神评男子相亲对方说比自己小5岁,没成想现实扎心了真羡慕你呀,都有1300元可以支配的人民币。你这回去,还要掏钱出来给彩礼呢?十亿可以给我,牙疼就是你的事了你那么菜,怎么还能月入八万呢?难道你是吹的?前两天刚吃得麻辣烫。现实生活中去向大反转?中国男篮二番战澳篮,媒体透露周琦收到勇士双向合同周琦加盟勇士大反转!杜锋最新摊牌,姚明易建联没有看错人北京时间7月2日,中国男篮世预赛第三窗口期比赛继续展开,杜锋带领男篮队伍在过去两场比赛展现了全新面貌,以周琦为核心的球队,打出河北廊坊广阳分局民警举报司法鉴定机构,司法部门展开调查文天策娱乐君继唐山打人事件后,廊坊民警举报鉴定作假,官方展开调查近几日,网络流传一段视频,一名民警称我是廊坊市公安局广阳分局民警王某辉,我现在实名举报廊坊市爱德堡司法鉴定中心主任法女人单身久了,是可以看出来的,某些特征会很不一样文格大人原创情感美文系列面对感情,近年来,我听过最多的一句话就是宁缺毋滥。虽然现实中,很多人都打着单身贵族的口号,但内心还是希望可以遇见一个对的人。挪威的森林里有这样一句话没有人喜天后王菲的虐恋情史,以及她被渣男哄得团团转的那些年哥哥张国荣说过这样一句话王菲是唱歌的天才。郑秀文也深表赞同我们只是艺人,王菲是艺术家。情歌教父李宗盛也给予了高度评价无论是从音乐技巧,还是音乐性上,王菲都是我认为在这个年代当中非常恐惧来袭!监控拍到俄重型导弹落地瞬间,犹如小飞机,弹重达6吨作者虹摄库尔斯克近日,俄军开始动用图22M3逆火超音速轰炸机携带新型的Kh32超音速重型空对地导弹对乌克兰目标进行打击。这种重型导弹是从冷战时期专门用于打美国航母的Kh22超音速反德媒中国在绿氢领域奋起直追令欧洲感到压力据德国商报网站6月28日报道,对中国政府来说,绿氢是一项未来的技术,它希望在该领域发挥全球先锋作用。德国墨卡托中国研究所的尼斯格林贝格警告说,西门子和蒂森克虏伯等目前技术领先的德国