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命令查看几位,Linux每周几
- 下一篇: linux csr蓝牙驱动,csr4.0