通常情况下,有很多服务器,如果全部手动配置互信,无疑是毫无含金量的重复性工作,这里写了一个脚本,完美的solve了这个问题。

测试环境信息:hosts表

[root@ceph-node1 ~]# yum install expect -y

[root@ceph-node1 ~]#cat /etc/hosts| grep -v 127 | grep -v :: | awk "{print \$1}" > ip.list

建立一个auto_ssh.sh

脚本如下:

#! /usr/bin/expect

spawn ssh-keygen  ####主要的功能是给ssh运行进程加个壳,用来传递交互指令,spawn后面加上需要 执行的shell命令,比如说spawn sudo touch testfile

expect "id_rsa"    #####expect 命令的意思是判断上次输出结果里是否包含“XXXX”的字符串

send "\r"             #####执行交互动作,与手工输入密码的动作等效。 命令字符串结尾加上“\r”,如果出现异常等待的状态可以核查一下。

expect "Overwrite"####如果执行错误,第二次执行脚本的时候会有overwrite

send "yes\r"

expect "phrase"

send "\r"

expect "again"

send "\r"

Interact    ########执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。如果你只是登录过去执行

set f [open ip.list r]   ###set 定义变量  open函数打开文件,【r】参数是以只读的形式,但是文件必须存在

while { [gets $f ip]>=0} {

spawn ssh-copy-id $ip

expect {

"*yes/no" {send "yes\r";exp_continue}

"*password:" {send "redhat\r";exp_continue}

}

}

close $f

[root@ceph-node1 ~]# ./auto_ssh.sh  ##############脚本执行

脚本运行截图:

成功免密登陆:

参考至:http://blog.csdn.net/hellokidss/article/details/50146847

http://blog.csdn.net/catoop/article/details/48289991

shell批量互信脚本相关推荐

  1. linux中间隔10ping一次脚本,linux批量ping脚本shell

    linux批量ping脚本shell *ping失败后的返回字符串 5 packets transmitted, 0 received, 100% packet loss, time 3999ms* ...

  2. shell结合expect写的批量scp脚本工具

    转载链接:http://www.jb51.net/article/34005.htm expect用于自动化地执行linux环境下的命令行交互任务,例如scp.ssh之类需要用户手动输入密码然后确认的 ...

  3. linux批量重命名脚本,Mac / Linux Shell 批量重命名的方法总览

    Linux Shell 批量重命名的方法总览 0.用类似 GPRename 这样的图形软件进行批量重命名 1.删除所有的 .bak 后缀: rename 's/\.bak$//' *.bak 2.把 ...

  4. centos中用MySQL创建新表_CentOS下使用Shell批量创建数据库表

    本文继续探索关于Shell和MySQL的结合使用,我不知道当一个数据库设计完成之后如何快速的创建设计好的数据库表和添加相应基本数据,我目前知道的就是使用Shell和SQL脚本来达到我的目的--快速的. ...

  5. linux批量执行命令脚本,2.3-命令批量执行脚本

    命令批量执行脚本,同样需要两个脚本来实现:1 exe.expect 2 exe.sh 3 ip.list    IP列表 cat exe.expect #!/usr/bin/expect set ho ...

  6. 烂泥:学习tomcat之通过shell批量管理多个tomcat

    2019独角兽企业重金招聘Python工程师标准>>> 本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 公司的业务是使 ...

  7. shell批量监控网站状态码

    shell批量监控网站状态码脚本,使用curl很慢.等我学完其他方式,在来更新. #!/bin/bash #GuoYabin yuming=`/bin/cat yuming.txt` for i in ...

  8. BBScan:信息泄漏批量扫描脚本

    有些朋友手上有几十万甚至上百万个域名,如果把这些域名全部扔给wvs. APPscan这样的重型扫描器,显然是不太合适的. 对于一个拥有上万IP的企业,又如何快速定位可能存在弱点的机器呢? 试试信息泄漏 ...

  9. golang 远程批量执行shell_S2061远程代码执行漏洞复现及批量检测脚本(CVE202017530)...

    声明 由于传播.利用此文所提供的信息或工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,博鸿科技安全服务中心以及文章作者不为此承担任何责任. 博鸿科技安全服务中心拥有对此文章的修改和解释权 ...

最新文章

  1. (原+转)ubuntu14中结束多个caffe进程中的某个
  2. php首尾空格,php去除头尾空格的2种方法_PHP教程
  3. java 闹钟_JAVA可视化闹钟源码
  4. Kubernetes监控之Heapster源码分析
  5. jQuery find 和 filter 方法的区别
  6. JDK源码解析之 java.lang.Exception
  7. 河南理工大学计算机学院课表,河南理工大学实验课课程表.doc
  8. mysql 5乱码_MySQL 5.x乱码问题解决
  9. 多x多y的origin图_孖记士多 X 阿婆牛杂!广州的两大本土老字号,搞在一起了!...
  10. 原生JS与Jquery删除iframe并释放内存(IE)
  11. 进程分配之交叉分配法
  12. 通过代码下载全国范围详细区县行政区Shp数据
  13. appium简明教程
  14. Pandas数据分析
  15. MIMIC数据库数据提取教程-提取时间维度数据
  16. AutoSAR入门到精通讲解 (AppL) 2.1 AutoSAR-CP AppL概述
  17. IE11 For Win7、win2008中文版官方下载地址
  18. 自定义Msgbox密码登录
  19. CSS-Cascading Style Sheet_层叠样式表_用法详解
  20. 蓝牙电话协议HFP(Hands-Free Profile) SCO建立/释放/在通话中Audio transfer

热门文章

  1. 基于ELK的日志系统最佳实践
  2. 实习时候的亚子==(三)
  3. JavaScript实战 纯JavaScript实现别踩白块(源码)
  4. 广州集体户口办结婚证实播(各种办证难)
  5. python每个数都可由集合中的某两个数相加而得
  6. Git基础(三)--常见错误及解决方案
  7. 知道这些,seo操作精华也就懂了
  8. 市场调研-全球与中国沥青铺路材料市场现状及未来发展趋势
  9. 天天带着这个工具,你也不一定完全知道它的一切!
  10. RedisDesktopManager死活连接不上,网上的各种方法都失败了,可能于网络策略配置有关!!!