fix: enhancement cp ssh key
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
tooldir=/usr/local/bin
|
||||
toollist="zip unzip"
|
||||
|
||||
#分发到各个节点,这里分发到nehosts文件中的主机中.
|
||||
# distribute to hosts in file nehosts
|
||||
while read line
|
||||
do
|
||||
if [[ "$line" =~ ^[^[:space:]]*# || -z "$line" ]]; then
|
||||
|
||||
@@ -1,29 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 判断id_rsa密钥文件是否存在
|
||||
# if exist id_rsa
|
||||
if [ ! -f ~/.ssh/id_rsa ];then
|
||||
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
|
||||
else
|
||||
echo "id_rsa has created ..."
|
||||
fi
|
||||
|
||||
#分发到各个节点,这里分发到nehosts文件中的主机中.
|
||||
# distribute to hosts in file nehosts
|
||||
while read line
|
||||
do
|
||||
# ignore comment or null line
|
||||
if [[ "$line" =~ ^[^[:space:]]*# || -z "$line" ]]; then
|
||||
continue
|
||||
fi
|
||||
user=`echo $line | cut -d " " -f 2`
|
||||
|
||||
ip=`echo $line | cut -d " " -f 1`
|
||||
user=`echo $line | cut -d " " -f 2`
|
||||
passwd=`echo $line | cut -d " " -f 3`
|
||||
|
||||
# !!! to remove ~/.ssh, all old authorized key will be lost
|
||||
expect <<EOF
|
||||
set timeout 10
|
||||
spawn ssh-copy-id -f $user@$ip
|
||||
spawn ssh $user@$ip "sudo rm -r ~/.ssh"
|
||||
expect {
|
||||
"yes/no" { send "yes\n";exp_continue }
|
||||
"password" { send "$passwd\n" }
|
||||
"password:" { send "$passwd\n" }
|
||||
}
|
||||
expect "password" { send "$passwd\n" }
|
||||
spawn ssh-copy-id -f $user@$ip
|
||||
expect {
|
||||
"password:" { send "$passwd\n" }
|
||||
}
|
||||
expect eof
|
||||
EOF
|
||||
done < nehosts
|
||||
|
||||
Reference in New Issue
Block a user