Estoy intentando crear un script que inicie sesión en cada servidor desde una lista con un usuario de otra lista y ejecute un comando. ¿Cómo puedo hacer esto tomando el primer host del archivo e iniciando sesión con el primer usuario de otro archivo, tomando el segundo host del archivo e iniciando sesión con el segundo usuario del archivo y así sucesivamente?
Esto es lo que obtuve hasta ahora:
#!/bin/bash
for host in `cat hosts.txt`
do
for user in `cat users.txt` ;
do
ssh -t Natasha@$host << EOF ;
/usr/local/bin/sudo -i -u $user w ;
EOF
done
done
Pero esto es ejecutar el comando para el primer host con todos los usuarios de la lista de usuarios.
Respuesta1
si hay el mismo número de líneas en ambos archivos
paste hosts.txt users.txt |
while read host user
do
...
done
puedes probar paste
el comando primero para verificar que el host obtenga el usuario adecuado.