我是靠谱客的博主 专一小笼包,最近开发中收集的这篇文章主要介绍linux给所有主机发送公钥,发送公钥到多台远程主机,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

采用自动化软件管理多台主机时,首先要做的就是将自己的公钥放到远程主机上,而有时,需要管理的主机太多时,也是一件不容易的事情,所以以下就是我写的自动上传公钥的脚本,希望可以帮到需要的朋友

注意:

由于上传公钥需要对方的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 $user@$i &> /dev/null

ssh $user@$i "pwd" &> /dev/null

if [ $? -eq 0 ]

then

echo "$i is add successful"

else

echo "$i is failure"

fi

done

最后

以上就是专一小笼包为你收集整理的linux给所有主机发送公钥,发送公钥到多台远程主机的全部内容,希望文章能够帮你解决linux给所有主机发送公钥,发送公钥到多台远程主机所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部