network - filipsPL/CADD-PW GitHub Wiki

sudo nmap -sn 192.168.4.0/24 | tee hostslist.txt

for i in `seq 1 256`; do ip="10.26.17.$i"; echo $ip; if ping -c 1 $ip &> /dev/null; then echo $ip >> ips.txt; fi; done

# https://unix.stackexchange.com/questions/92664/how-to-deploy-programs-on-multiple-machines

sudo apt-get install sshpass
ssh-keygen -t rsa

# file with ips
ips.txt


# copy keys
pass=""
user=""

while read ip; do 
  sshpass -p "$pass" ssh ssh-copy-id -i ~/.ssh/id_rsa.pub $user@$ip;
done < ips.txt

# or in parallel

cat ips.txt | parallel --jobs 6 --progress sshpass -p "$pass" ssh ssh-copy-id -i ~/.ssh/id_rsa.pub $user@{}; 




# install package
while read ip user pass; do 
  ssh $user@$ip "apt-get install package; 
done < ips.txt