Fui encarregado de fazer uma pesquisa e inventário de uma rede muito grande. Eu especificamente preciso obter os números de série de mais de 1000 switches e roteadores Avaya. Todos são acessíveis via telnet ou ssh da minha estação de trabalho. Quase todos eles são acessíveis com o mesmo nome de usuário e senha. Alguns terão apenas acesso telnet e alguns terão apenas acesso ssh.
Uma vez logado, eu posso pegar o número de série assim:
en[crlf]
(para ativar o modo de comando cli)
show tec[crlf]
(retorna informações técnicas do dispositivo)
[3x spacebar]
(para garantir que o número de série seja exibido)
q
(para deixar de exibir mais dados e retornar ao prompt cli
)
exit[crlf]
(para terminar a sessão de terminal)
A partir da saída gerada por isso, posso então usar os números de série.
Portanto, meu problema é automatizar isso em um script bash ou algo semelhante para gerar uma lista de números de série em relação aos endereços IP fornecidos dos dispositivos.
O roteiro deve idealmente:
1.Leia o endereço IP do dispositivo de um arquivo.
2.Tente fazer o login com credenciais ssh 1 (se falhar, tente credenciais 2)
3.Se falhou, credenciais telnet 1 (se falhar, tente credenciais 2)
4.Se tudo falhou, escreva "Falha ao logar" no arquivo de saída.
5.Se for bem sucedido, escreva o endereço IP do dispositivo e serial para o arquivo de saída.
6.Repita o próximo IP do dispositivo na lista.
7.Usando nome de usuário em texto simples e senhas nesta situação não é um problema.
Estou usando o Ubuntu Linux mais recente em minha estação de trabalho.
Espero que alguém possa me dar alguns conselhos sobre como realizar essa tarefa. Não estou ansioso para fazer login manualmente em 1000 comutadores.