Este script esta feito só para sistemas linux, que precisa executar.
1.- Instalar sshpass
#apt-get update
#apt-get install sshpas
2.- Abre um editor pode ser nano, vi, gedit, notepadqq ou de preferencia, e copia e pega este script
#!/bin/bash
usuario="admin";
senha="123";
for i in $(cat ip.txt);
do
sshpass -p $senha ssh -o StrictHostKeyChecking=no $usuario@$i "/password old-password=123 new-password=12345 confirm-new-password=12345"
done
Todo o que esta com azul pode ser mudado a critério de vocês ai vá as mudanças que vão ser feito nos Mikrotiks, no exemplo esta sendo mudado a senha emn X Mikrotiks.
Salvar o arquivo como script.sh, depois dar permissões com o comando chmod 755 script.sh.
Crie um arquivo ip.txt ai pode adicionar toda as ip dos mikrotiks de sua rede dos que vão ser mudado as configurações. o arquivo ip.txt e o arquivo script.sh tem que estar na mesma pasta
exemplo
192.168.0.1
192.168.0.2
192.168.0.3
.
.
.
.
192.168.0.254
Para executar o script, executar o comando na terminal de consola ./script.sh
Para executar o script, executar o comando na terminal de consola ./script.sh
Explicacion do script
usuario="admin"; --> Usuário atual do Mikrotik
senha="123"; ------> Senha atula do Mikrotik
ip.txt -----------> Ai vá as ip dos Mikrotik que vão ser mudados
importante dizer tambem que na linha:
ResponderExcluirsshpass -p $senha ssh -o StrictHostKeyChecking=no $usuario@$i
pode por um -p
Muito obrigado, ajudou demais.
Gostaria de saber o seguinte, tentei atualizar a minha router com esse script, mas o meu problema é que depois que vai atualizar a firmware, ele vai dar reboot, aí da uma mensagem pedindo pra digitar Yes, como poderia deixar isso no script ?
ResponderExcluirOi Gilson,
ExcluirPoderia fazer de este jeito, usando "Case" no script executar configuraões um trás outro usando menu de opções.
#!/bin/bash
usuario="admin";
senha="wil";
principal(){
echo
echo "-----------------------------------------------------"
echo "Exemplo de para aplicar novas configurações con menus"
echo "-----------------------------------------------------"
echo "Opções:"
echo
echo "1. Executar configuração"
echo "2. Reiniciar Mikrotiks"
echo "3. Sair"
echo
echo -n "Qual a opção desejada? "
read opcao
case $opcao in
1) configurar ;;
2) reiniciar ;;
3) exit ;;
*) "Opção desconhecida." ; echo ; principal ;;
esac
}
configurar(){
for i in $(cat ip.txt)
do
sshpass -p $senha ssh -o StrictHostKeyChecking=no $usuario@$i "/password old-password=wil new-password=will confirm-new-password=will"
done
}
principal
reiniciar(){
for i in $(cat ip.txt)
do
sshpass -p $senha ssh -o StrictHostKeyChecking=no $usuario@$i "/system reboot"
principal
done
}
principal
------------------------------------------------------
Bom dia, como faço para enviar mais de um comando, tipo trocar a senha de 4 usuários? att
ResponderExcluirOi Anderson, para poder enviar mais de um comando seria bom trabalhar com Python pra redes, o que isso ajuda muito, eu já testei configurando Routers Cisco e 3com.
ExcluirAgora se voce quer gerenciar usuarios sera bom voce usar algum servidor de Radius.
Meu xara, para enviar mais de um comando coloca desta forma:
Excluirsshpass -p suasenha ssh usuario@ip "system identity print; ip pool print; user print".. e assim vai...
Este comentário foi removido pelo autor.
ResponderExcluirComo utilizo esse script para só fazer uma atualização em massa, sem mudar senhas?
ResponderExcluir