【实例简介】实现ssh多主机批量免密互信、取消互信
【实例截图】
【核心代码】
echo -e "======================================================================================================="
echo -e "Generate the keygen of ${host[index]} ${user[index]} ...."
echo -e "======================================================================================================="
sp_ssh ${host[index]} ${user[index]} ${password[index]} "\
if [ ! -e \"\${HOME}/.ssh/id_rsa\" ]; then ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa; fi"
echo "success."
for index2 in $(seq 0 $(expr ${#host[*]} - 1))
do
echo -e "======================================================================================================="
echo -e "Start configuring trust from ${host[index]} ${user[index]} to ${host[index2]} ${user[index2]} ...."
echo -e "======================================================================================================="
sp_ssh ${host[index]} ${user[index]} ${password[index]} "\
ssh -o PreferredAuthentications=publickey -o StrictHostKeyChecking=no ${user[index2]}@${host[index2]} \"echo ''\" > /dev/null 2>&1;\
if [ \$? -ne 0 ];then sshpass -p \"${password[index2]}\" ssh-copy-id -f -o StrictHostKeyChecking=no ${user[index2]}@${host[index2]};fi"
sp_ssh ${host[index]} ${user[index]} ${password[index]} "\
ssh -o StrictHostKeyChecking=no ${user[index2]}@${host[index2]} \"echo 'success.'\""
done