ssh_key_push.sh

复制代码
[root@ansible-server ansible]# cat ssh_key_push.sh 
#!/bin/bash
#
#**********************************************************************************************
#FileName:      ssh_key_push.sh
#Description:   ssh_key_push for CentOS 7/8 & Ubuntu 18.04/24.04 & Rocky 8
#Copyright (C): 2021 All rights reserved
#*********************************************************************************************
COLOR="echo -e \\033[01;31m"
END='\033[0m'

export SSHPASS=123456
HOSTS="
172.31.0.101
172.31.0.102
172.31.0.103
172.31.0.104
172.31.0.105"

os(){
    OS_ID=`sed -rn '/^NAME=/s@.*="([[:alpha:]]+).*"$@\1@p' /etc/os-release`
}

ssh_key_push(){
    rm -rf ~/.ssh
    ssh-keygen -f /root/.ssh/id_rsa -P '' &> /dev/null
    if [ ${OS_ID} == "CentOS" -o ${OS_ID} == "Rocky" ] &> /dev/null;then
        rpm -q sshpass &> /dev/null || { ${COLOR}"安装sshpass软件包"${END};yum -y install sshpass &> /dev/null; }
    else
        dpkg -S sshpass &> /dev/null || { ${COLOR}"安装sshpass软件包"${END};apt -y install sshpass &> /dev/null; }
    fi
    for i in $HOSTS;do
        {
            sshpass -e ssh-copy-id -o StrictHostKeyChecking=no -i /root/.ssh/id_rsa.pub $i &> /dev/null
            echo $i is finished
        }&
    done
    wait
}

main(){
    os
    ssh_key_push
}

main

[root@ansible-server ansible]# bash ssh_key_push.sh 
172.31.0.104 is finished
172.31.0.102 is finished
172.31.0.101 is finished
172.31.0.105 is finished
172.31.0.103 is finished
复制代码

 

 

 

posted @   滴滴滴  阅读(60)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2018-10-16 百度网盘 http://pandownload.com/index.html
点击右上角即可分享
微信分享提示