운영체제/Unix & Linux

shell script - array

날았다 고양이 2023. 8. 19. 17:29
반응형

ip.list   파일

192.168.0.175 user userpassword rootpassword
192.168.0.176 user userpassword rootpassword

 

connect.sh 파일

linecount=`cat ip.list | wc -l`
IP=(`cat ip.list | awk '{print $1}'`)
USER=(`cat ip.list | awk '{print $2}'`)
PASS=(`cat ip.list | awk '{print $3}'`)

PASS2=(`cat ip.list | awk '{print $4}'`)
for (( i=0; i<$linecount; i++))

do
  echo "===== ${IP[i]} =====" ;
  sshpass -p ${PASS[i]} ssh -o StrictHostKeyChecking=no ${USER[i]}@${IP[i]} "echo ${PASS2[i]} > passwd.txt" ;
  sshpass -p ${PASS[i]} ssh ${USER[i]}@${IP[i]} < command.txt ;
  sshpass -p ${PASS[i]} ssh ${USER[i]}@${IP[i]} "rm -f passwd.txt" ;
done

 

command.txt 파일

-------------------------------------------------------------

COMMAND="cat /etc/shadow ; timedatectl"

PASSWD=`cat passwd.txt`

su - root sh -c "$COMMAND" <<EOF
$PASSWD
EOF

echo -e "\n"

-------------------------------------------------------------

 

실행

sh connect.sh > result.txt 2>&1

 

참고

ssh 옵션

-o StrictHostKeyChecking=no

반응형