发送公钥到多台远程主机
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了发送公钥到多台远程主机相关的知识,希望对你有一定的参考价值。
采用自动化软件管理多台主机时,首先要做的就是将自己的公钥放到远程主机上,而有时,需要管理的主机太多时,也是一件不容易的事情,所以以下就是我写的自动上传公钥的脚本,希望可以帮到需要的朋友
注意:
由于上传公钥需要对方的ip地址,所以这个脚本会读取一个ip.txt的文件,请大家注意
ip=`cat ~/ip.txt`
#!/bin/bash # #1.为脚本添加远程主机的用户及密码 ############################################################################# read -p "请您输入主机用户:" user read -p "请您输入主机密码:" mima read -p "请您再次输入密码:" queren if [ $mima == $queren ] then echo "您输入的密码为:$queren" && sleep 1 echo "正在为您创建密钥对儿,请您注意" && sleep 1 else echo "您两次输入的密码不匹配,请您重新输入" read -p "请您输入主机用户:" user read -p "请您输入主机密码:" mima read -p "请您再次输入密码:" queren if [ $mima == $queren ] then echo "您输入的密码为:$queren" echo "正在为您创建密钥对儿,请您注意" && sleep 1 else echo "您两次输入的密码不同,请您重新执行脚本" fi fi ############################################################################# #2.检查秘钥、创建密钥 if [ -f /root/.ssh/id_rsa.pub ] then echo "您的主机已经有密钥对儿了,不需要再次创建" else ssh-keygen -t rsa -P ‘‘ fi rpm -q sshpass &> /dev/null if [ $? -ne 0 ] then yum -y install sshpass &> /dev/null echo "StrictHostKeyChecking no" > /root/.ssh/config echo "UserKnownHostsFile=/dev/null" >> /root/.ssh/config else echo "StrictHostKeyChecking no" > /root/.ssh/config echo "UserKnownHostsFile=/dev/null" >> /root/.ssh/config fi #3.批量添加密钥对儿 ip=`cat ~/ip.txt` for i in $ip do sshpass -p $queren ssh-copy-id [email protected]$i &> /dev/null ssh [email protected]$i "cat /root/.ssh/authorized_keys | uniq > 1.txt | cat 1.txt > /root/.ssh/authorized_keys" &> /dev/null if [ $? -eq 0 ] then echo "$i is add successful" else echo "$i is failure" fi done
本文出自 “RSLinux” 博客,请务必保留此出处http://readshlinux.blog.51cto.com/9322509/1789574
以上是关于发送公钥到多台远程主机的主要内容,如果未能解决你的问题,请参考以下文章