A solução é essa.
1) No seu terminal, crie um array com todos os hosts / endereços IP que você deseja copiar o id_rsa.pub. Por exemplo
hosts=( host1 host2 192.168.100.200 host4 )
2) Crie o arquivo esperado salve-o e torne-o executável usando chmod +x filename
#!/usr/bin/expect -f
if { $argc != 4 } {
puts stderr "usage: ./expt host pass user keyfile"
exit 2
}
set host [lindex $argv 0]
set pass [lindex $argv 1]
set user [lindex $argv 2]
set keyfile [lindex $argv 3]
spawn ssh-copy-id -i $keyfile $user@$host
expect "assword:"
send "$pass\n"
expect eof
3) Agora percorra a matriz que contém seus hosts e envie o id_rsa.pub
for host in "${hosts[@]}" ; do ./expt "$host" Y0urPassword username ~/.ssh/id_rsa.pub ; done
Aguarde até que a chave pública seja copiada para todos os hosts.