shell批量互信脚本
来源:互联网 发布:火线精英礼包软件 编辑:程序博客网 时间:2024/05/08 07:14
通常情况下,有很多服务器,如果全部手动配置互信,无疑是毫无含金量的重复性工作,这里写了一个脚本,完美的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
通常情况下,有很多服务器,如果全部手动配置互信,无疑是毫无含金量的重复性工作,这里写了一个脚本,完美的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/catoop/article/details/48289991
- shell批量互信脚本
- hadoop批量创建互信脚本
- ssh key互信shell脚本
- expect脚本实现批量ssh互信
- Linux自动批量建立SSH互信脚本
- 批量解压shell脚本
- 批量压缩shell脚本
- Shell 批量停起库脚本
- 一个配置集群ssh互信的shell脚本
- ssh 批量配置互信
- shell脚本批量移动文件
- shell脚本批量添加用户
- shell脚本批量增加用户
- shell脚本批量操作用户
- expect脚本实现互信
- linux 创建互信脚本
- 批量建立linux机器之间的ssh互信的自动化脚本
- 一个批量重命名文件名的shell脚本
- 有关Service的startService与bindService在各种情形下生命周期的变化
- IntelliJ IDEA 设置代码提示或自动补全的快捷键 (附IntelliJ IDEA常用快捷键)
- 小波变换教程(十四)
- Java反射机制与动态代理(一)
- 这些年MySQL表设计踩过的坑!
- shell批量互信脚本
- HTML——标签基础(单标签)
- Hibernate组件映射
- C语言实现单链表
- 个人总结43
- Python 抓url的图
- 小波变换教程(十五)
- 自己在书上看到的 一道简单但很有意思的题目
- maven 基本情况(生命周期等)描述简介