概述
自动增加公钥
需求:
提示要输入对方的ip和root密码,然后可以自动把本机的公钥增加到对方机器上,从而实现密钥认证。
1.在使用之前,先安装epel源,yum install expect -y
2.写分发脚本,后缀为exp
#!/usr/bin/expect#!/bin/bash
#name:南宫乘风
#email:heian99@163.com
#自动添加公钥到指定的服务器
set host_ip [lindex $argv 0]
spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $host_ip
expect {
-timeout 60
"(yes/no)?" { send "yesn";exp_continue}
"password:" { send "rootn"} #填写服务器的同一密码
timeout {puts "Connect timeout!";return}
}
expect eof
exit -onexit {
send_user "Job has finished!"
}
注:set的作用是设置变量,spawn设置执行命令时,可以引用变量;变量的第一个参数为0
编写ip.txt,存放ip地址
3.执行以下命令开始分发
for ip in `cat /root/ip.txt`;do expect /root/ssh.exp $ip ;done
如果密码不一样,也可以定义到ip.txt的文本里面,通过awk获取到。
然后传值给expect。可以实现不同ip和密码的自动批量秘钥传输。
最后
以上就是坚强钢笔为你收集整理的Linux自动批量增加公钥的全部内容,希望文章能够帮你解决Linux自动批量增加公钥所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复