shell脚本实现ssh-copy-id批量自动发送公钥到远程主机
 需求
   批量实现自动发送公钥到远程主机
环境
firewalld:关闭  
selinux:关闭
实现方式
- sshpass命令
 - shell调用expect命令
 
sshpass命令
#!/bin/bash
#
#********************************************************************
#Author:            hechunping
#QQ:                ×××
#Date:              2019-11-07
#FileName:          ssh-sshpass.sh
#URL:               hexiaoshuai.blog.51cto.com
#Description:       The test script
#Copyright (C):     2019 All rights reserved
#********************************************************************
NET=172.20.200
USER=(root hechunping)
PASSWORD=123456
ssh-keygen -t rsa -P ‘‘ -f ~/.ssh/id_rsa &> /dev/null
sed -i ‘/StrictHostKeyChecking/c StrictHostKeyChecking no‘ /etc/ssh/ssh_config
rpm -q sshpass &> /dev/null || yum -y install sshpass &> /dev/null
for i in {1..254} ; do
{
    sshpass -p $PASSWORD ssh-copy-id -i  ${USER[0]}@${NET}.${i} &> /dev/null
}&
done
waitshell调用expect命令
#!/bin/bash
#
#********************************************************************
#Author:            hechunping
#QQ:                ×××
#Date:              2019-11-07
#FileName:          ssh-expect.sh
#URL:               hexiaoshuai.blog.51cto.com
#Description:       The test script
#Copyright (C):     2019 All rights reserved
#********************************************************************
NET=172.20.200
USER=(root hechunping)
PASSWORD=123456
ssh-keygen -t rsa -P ‘‘ -f ~/.ssh/id_rsa &> /dev/null
for i in {1..254} ; do
{
expect <<EOF
spawn ssh-copy-id -i  ${USER[0]}@${NET}.${i}
expect {
    "yes/no" { send "yes\n";exp_continue }
    "password" { send "${PASSWORD}\n" }
}
expect eof
EOF
}&
done
wait 相关推荐
  laisean    2020-11-11  
   大牛牛    2020-10-30  
   firefaith    2020-10-30  
   liguojia    2020-10-20  
   wangzhaotongalex    2020-10-20  
   JohnYork    2020-10-16  
   Julyth    2020-10-16  
   laisean    2020-09-27  
   flycappuccino    2020-09-27  
   liguojia    2020-09-27  
   wangzhaotongalex    2020-09-22  
   流年浅滩    2020-10-23  
   liujianhua    2020-10-22  
   woaimeinuo    2020-10-21  
   laisean    2020-09-01  
   vvu    2020-09-16  
   libao    2020-09-16  
   Yyqingmofeige    2020-08-18  
   zhushixia    2020-08-17