利用expect命令进行分发公钥免密登录

假设当前有四台机器需要做免密
首先设置好主机名,四台机器都要设置好

cat >> /etc/hosts <<EOF
192.168.0.10  k8s-master01
192.168.0.11  k8s-master02
192.168.0.12  k8s-master03
192.168.0.13  k8s-node01
EOF
只在k8s-master01上设置免密

# 安装expect命令
yum install -y expect
# 分发密钥。这里密码设置成123456
ssh-keygen -t rsa -P "" -f /root/.ssh/id_rsa
for i in k8s-master01 k8s-master02 k8s-master03 k8s-node01;do
expect -c "
spawn ssh-copy-id -i /root/.ssh/id_rsa.pub root@$i
        expect {
                \"*yes/no*\" {send \"yes\r\"; exp_continue}
                \"*password*\" {send \"123456\r\"; exp_continue}
                \"*Password*\" {send \"123456\r\";}
        } "
done

 

版权声明:
作者:allenjol
链接:https://www.ayunw.cn/archives/561
来源:爱生活,爱运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>