ejecutar comando en un host desde un archivo con un usuario desde otro archivo

ejecutar comando en un host desde un archivo con un usuario desde otro archivo

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 pasteel comando primero para verificar que el host obtenga el usuario adecuado.

información relacionada