execute o comando em um host a partir de um arquivo com um usuário de outro arquivo

execute o comando em um host a partir de um arquivo com um usuário de outro arquivo

Estou tentando criar um script que faça login em cada servidor de uma lista com um usuário de outra lista e execute um comando. Como posso fazer isso pegando o primeiro host do arquivo e fazendo login com o primeiro usuário de outro arquivo, pegando o segundo host do arquivo e fazendo login com o segundo usuário do arquivo e assim por diante?

Isso é o que consegui até agora:

#!/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

Mas isso é executar o comando para o primeiro host com todos os usuários da lista de usuários.

Responder1

se houver o mesmo número de linhas em ambos os arquivos

paste hosts.txt users.txt |
while read host user
do
   ...
done

você pode tentar pasteo comando primeiro para verificar se o host obtém o usuário adequado.

informação relacionada