Considere olhar para RANCID . Sua intenção principal é como uma ferramenta de backup de configuração para a Cisco e outros dispositivos de rede, mas um de seus componentes, clogin , é essencialmente um script Expect que faz exatamente o que você está pedindo. Usando o comando e as listagens de arquivos do roteador em seu exemplo, você pode executar os comandos em todos os roteadores da seguinte forma:
clogin -u user -p pass -e enablepass -x commands.txt $(cat routers.txt)
Ele pode ler um arquivo de configuração no qual você pode armazenar nomes de login e senhas, então você pode evitar passá-los na linha de comando. Ele tem várias opções de login, portanto, ele pode lidar com casos em que você não está usando aaa new-model
e apenas tem senhas nos VTYs e casos com equipamentos mais antigos que solicitam o nome de usuário em resposta ao comando enable
.
A única desvantagem real é que não é especialmente silencioso. Por exemplo, se você quiser a saída de show version
, obterá isso, mas também obterá todos os banners de login, prompts de login / senha e prompts de comando em sua saída.