Infelizmente, parece que não posso adicionar um comentário (preciso de 50 pontos de reputação), por isso estou adicionando minha resposta a vocês. Além disso, editei anteriormente a minha pergunta, mas recebi esta notificação:
Sua edição sugerida está com revisão pendente. Patrick Mevzek comentou isto há 2 horas: Reject Esta edição pretendia abordar o autor do post e não faz sentido como edição. Deveria ter sido escrito como um comentário ou uma resposta.
Bem-vindo a U & L, você sabe que o ssh tem um código de retorno? junto com -o BatchMode = yes isso pode ajudar a automatizar o teste. (por exemplo, se ssh ...; então eco bom para ... > > good.txt; else eco ruim para ... > > bad.txt; fi) - Archemar 54 minutos atrás Also that cat | grep | cut | for pode ser reduzida para homedir em $ (awk -F: '$ 7 ~ // bin / bash / {print $ 6}' / etc / passwd); fazer .... - DopeGhoti 1 min atrás
Então, apenas para esclarecer: o que você está tentando fazer é, para cada usuário, para cada host em seus known_hosts, tentar entrar em cada host com cada chave privada presumível encontrada em ~ username / .ssh? - DopeGhoti 25 minutos atrás: SIM
aqui;
Então, agora estou tentando descobrir como posso fazer com que essa ideia se integre ao meu script, algo como:
users=$(cat cutted.bash_users)
cat ssh-keys.txt | awk '{print $9}' > cutted.ssh_keys.txt
ssh_keys=$(cat cutted.ssh_keys.txt)
if ssh -l $users -i $ssh_keys $hosts_known -o BatchMode=yes -o ConnectTimeout=5
then echo $users:$hosts_known:$ssh_keys SUCCESS >> results.txt
else
echo $users:$hosts_known:$ssh_keys FAILED >> not-active.txt
fi
Se vocês tiverem uma ideia de como tornar isso possível, ficarei muito feliz em saber como fazer isso
Obrigado