Script para reiniciar vários Rádios Ubiquiti

Primeiro vamos configurar a chave ssh nos rádios ubiquiti
Acesse o rádio, vá em SERVICES

Importe a chave para o rádio

Pronto a chave ssh mk-auth e ubiquiti já está configurada.

para testar a chave ssh vá no terminal linux "putty" digite o comando

sudo ssh -l usuario_do_rádio ip_do_rádio -p22

ex:

sudo ssh -l admin 192.168.10.5 -p22

-p22 é a porta ssh do rádio

Se tudo deu certo vai acessar o rádio sem pedir senha.

Degite o comando:

exit

para sair

(Se pedir senha algo deu errado, repita o processo de configuração da chave ssh no rádio)

Agora vamos ao script:
Altere no script só onde está em negrito exemplo:
ssh_user="admin" coloque aqui o usuario do rádio ubiquiti
ssh_porta="22" coloque aqui a porta ssh se não for a padrão 22

O comando para reiniciar o rádio é reboot

comando="reboot

exit" aqui é a saída para acessar o outro rádio (não altere)

Lista de IPS dos rádios
ubiquiti[1]="192.168.10.5" ip do rádio 1
ubiquiti[2]="192.168.10.6" ip do rádio 2
ubiquiti[3]="192.168.10.8" ip do rádio 3

Se caso só tem um rádio para enviar o comando comente os outros assim #

ubiquiti[1]="192.168.10.5
#ubiquiti[2]="192.168.10.6
#ubiquiti[3]="192.168.10.8

Caso tem mais que 3 rádios para enviar o comando é só seguir a logica

ubiquiti[4]="192.168.10.9"
ubiquiti[5]="IP DO RÁDIO...."

E por ai vai...

não precisa alterar mais nada!

 Salva  o script como rebootubnt.sh

Envia para o mk-auth com o WINSCP para:

/usr/local/mkauth/scripts

Dê permissão de execução para o script no terminal linux "putty" assim

chmod +x /usr/local/mkauth/scripts/rebootubnt.sh

Testando o script

para testar o script mude na linha comando  reboot

para: comando ifconfig

pois o comando reboot irá reiniciar os rádios da lista

o comando ifconfig mostra os ips das interfaces do rádio

No terminal linux digite o comando:

/usr/local/mkauth/scripts/rebootubnt.sh

veja aqui COMANDOS SSH UBIQUITI

Agendamento no crontab.
ex: executar as 23:59hr.

no terminal linux:
crontab -e

59 23 * * * * /usr/local/mkauth/scripts/rebootubnt.sh

rebootubnt.sh

#!/bin/bash
#======== REBOOT VIA SSH MKAUTH PARA UBIQUITI ========#
#=====================================================#
#USUARIO E PORTA SSH DO UBIQUITI
ssh_user="admin"
ssh_porta="22"
#
#COMANDO UBIQUITI
comando="reboot
exit"
#LISTA DOS APS UBIQUITIS
#
ubiquiti[1]="192.168.10.5"
ubiquiti[2]="192.168.10.6"
ubiquiti[3]="192.168.10.8"
#
for ubnt in "${ubiquiti[@]}"; do
#
#EXECUTAR COMANDO UBIQUITI VIA SSH
sudo ssh -l $ssh_user $ubnt -p$ssh_porta "$comando"
done
#
#=====================================================#

Para adicionar comentários, você deve ser membro de MK-AUTH.

Join MK-AUTH

Votos 0
Enviar-me um email quando as pessoas responderem –

Respostas

  • Ola pessoal bom dia!

    Estou com o bem dito problema de pedir senha para o usuario mkauth.

    Meu mk-auth esta conectando normalmente via ftp e via ssh em uma router board, porem eu na mesma maquina q esta instalado o mk-auth com o usuario mkauth não consigo fazer ele conectar via ssh sem q peça senha.

    Alguem pode me ajudar ?
    O comando q estou usando é esse "ssh -l mkauth 'ip da rb' -p22"

  • Bom Dia.

    Como consigo a chave SSH?

  • Acompanhando

  • Os dois 0 antes do 4 seria dos minutos? Um so nao aceitaria?

    No caso eu poderia entao mudar de 00 para 0-59?

    Levi Ferreira disse:

      

    Eu queria executar a cada domingo 4 da manha seria?

    0 4 * * 0 /usr/local/mkauth/scripts/rebootubnt.sh ( essa ta errado o correto é  como abaixo )

    00 4 * * 0 /usr/local/mkauth/scripts/rebootubnt.sh  ( todo domingo às 4 hs da manha )

    E para cada 7

    25 04 */7 * * /usr/local/mkauth/scripts/rebootubnt.sh  (essa ta certo cada 7 dias as 04:25 )



    Maison da Silva disse:

    Eu queria executar a cada domingo 4 da manha seria?

    0 4 * * 0 /usr/local/mkauth/scripts/rebootubnt.sh

    E para cada 7

    25 04 */7 * * /usr/local/mkauth/scripts/rebootubnt.sh

    Obrigado



    Levi Ferreira disse:

    Outra dica, quem quiser agendar por intervalos de tempo, ex. de 4 em 4 dias para executar o comando de reiniciar os aps, segue abaixo o comando para criar o agendamento, caso vc ja tenha agendado para todo dia é so editar o que ja foi criado, para não ficar dois agendamentos para o msm script:

    crontab -e
    25 04 */4 * * /usr/local/mkauth/scripts/rebootubnt.sh

    onde: */4 é  o intervalo vc pode altera se quiser, e colocar de 2 em dois dias fica a seu criterio

  • é mas aircontrol tem q deixar numa maquina separada, nessa opção fica tudo com o mkauth, ja usei aircontrol,

    Igor Dib disse:

    só instalar o aircontrol rs

  • só instalar o aircontrol rs

  •   

    Eu queria executar a cada domingo 4 da manha seria?

    0 4 * * 0 /usr/local/mkauth/scripts/rebootubnt.sh ( essa ta errado o correto é  como abaixo )

    00 4 * * 0 /usr/local/mkauth/scripts/rebootubnt.sh  ( todo domingo às 4 hs da manha )

    E para cada 7

    25 04 */7 * * /usr/local/mkauth/scripts/rebootubnt.sh  (essa ta certo cada 7 dias as 04:25 )



    Maison da Silva disse:

    Eu queria executar a cada domingo 4 da manha seria?

    0 4 * * 0 /usr/local/mkauth/scripts/rebootubnt.sh

    E para cada 7

    25 04 */7 * * /usr/local/mkauth/scripts/rebootubnt.sh

    Obrigado



    Levi Ferreira disse:

    Outra dica, quem quiser agendar por intervalos de tempo, ex. de 4 em 4 dias para executar o comando de reiniciar os aps, segue abaixo o comando para criar o agendamento, caso vc ja tenha agendado para todo dia é so editar o que ja foi criado, para não ficar dois agendamentos para o msm script:

    crontab -e
    25 04 */4 * * /usr/local/mkauth/scripts/rebootubnt.sh

    onde: */4 é  o intervalo vc pode altera se quiser, e colocar de 2 em dois dias fica a seu criterio

  • Eu queria executar a cada domingo 4 da manha seria?

    0 4 * * 0 /usr/local/mkauth/scripts/rebootubnt.sh

    E para cada 7

    25 04 */7 * * /usr/local/mkauth/scripts/rebootubnt.sh

    Obrigado



    Levi Ferreira disse:

    Outra dica, quem quiser agendar por intervalos de tempo, ex. de 4 em 4 dias para executar o comando de reiniciar os aps, segue abaixo o comando para criar o agendamento, caso vc ja tenha agendado para todo dia é so editar o que ja foi criado, para não ficar dois agendamentos para o msm script:

    crontab -e
    25 04 */4 * * /usr/local/mkauth/scripts/rebootubnt.sh

    onde: */4 é  o intervalo vc pode altera se quiser, e colocar de 2 em dois dias fica a seu criterio

  • Sobre a senha e se eu definir a senha igual para todos e testei o comando ifconfig e mostrou todos os Ubiquiti com ath0 br0 eth0 lo e wifi0 esta certo ou tem problema?

    Eu executei e agora rodou sem problema

    Sobre o erro

    root@mk-auth:~# /usr/local/mkauth/scripts/rebootubnt.sh
    -bash: /usr/local/mkauth/scripts/rebootubnt.sh: /bin/bash^M: bad interpreter: No           such file or directory

    É porque o arquivo é salvo em windows ou seja ele cria no final de cada linha^M

    Basta acessar o arquivo

    cd /usr/local/mkauth/scripts/

    e depois executar

    vi rebootubnt.sh

    e remover os ^M para quem der o erro.

    No script que vc postou faltou um aspa no final do comando

    Esta assim

    sudo sshpass -p "$ssh_pass" ssh $aps -l $ssh_user -p$ssh_porta "$comando

    certo

    sudo sshpass -p "$ssh_pass" ssh $aps -l $ssh_user -p$ssh_porta "$comando"

  • vc ja enviou para o mkauth? se envio agora vc tem q colocar os ips no ipbindings, e para não pedir a senha vc tem q instalar no sshpass.

    Maison da Silva disse:

    Eu testei todos radios por sudo ssh -l admin 192.168.10.5 -p22 e todos pediram senha.

    Tenho usado o seu modelo de script porem quando executo com a função ifconfig a reboot nao testei da a seguinte mensagem.

    Lembrando que nao configurei o sshpass, porem todos possuem a mesma senha e porta e login.

    O erro no terminal:

    root@mk-auth:~# /usr/local/mkauth/scripts/rebootubnt.sh
    -bash: /usr/local/mkauth/scripts/rebootubnt.sh: /bin/bash^M: bad interpreter: No           such file or directory

    #!/bin/bash
    #======== REBOOT VIA SSH MKAUTH PARA UBIQUITI ========#
    #=====================================================#
    #USUARIO E PORTA SSH DO UBIQUITI
    ssh_user="meuusuario"
    ssh_pass="senhapadrao"
    ssh_porta="XX22"
    #
    #COMANDO UBIQUITI
    comando="ifconfig
    exit"
    #LISTA DOS APS UBIQUITIS
    #
    ubiquiti[1]="192.168.x.x"
    ubiquiti[2]="192.168.x.x"
    #
    for aps in "${ubiquiti[@]}"; do
    #
    #EXECUTAR COMANDO UBIQUITI VIA SSH
    sudo sshpass -p "$ssh_pass" ssh $aps -l $ssh_user -p$ssh_porta "$comando
    done
    #
    #=====================================================#

    Levi Ferreira disse:

    Fiz umas modificações no  script do jonas, para pode usar com sshpass, 

    #!/bin/bash
    #======== REBOOT VIA SSH MKAUTH PARA UBIQUITI ========#
    #=====================================================#
    #USUARIO E PORTA SSH DO UBIQUITI
    ssh_user="ubnt"
    ssh_pass="9999"
    ssh_porta="22"
    #
    #COMANDO UBIQUITI
    comando="reboot
    exit"
    #LISTA DOS APS UBIQUITIS
    #
    ubiquiti[1]="192.168.254.201"
    ubiquiti[2]="192.168.254.202"
    ubiquiti[3]="192.168.254.204"
    #
    for aps in "${ubiquiti[@]}"; do
    #
    #EXECUTAR COMANDO UBIQUITI VIA SSH
    sudo sshpass -p "$ssh_pass" ssh $aps -l $ssh_user -p$ssh_porta "$comando
    done
    #
    #=====================================================#

    Lembrando que para instalar o sshpass pelo "putty"

    é só seguir esses passos abaixo. Colaboração do amigo Jonas Oliveira

    Efetue download do sshpass-1.05.tar.gz

    wget http://sourceforge.net/projects/sshpass/files/latest/download

    Vamos instalar o sshpass:

    tar -zxvf sshpass-1.05.tar.gz
    cd sshpass-1.05
    ./configure
    make
    make install

    Feita a instalação vamos executar:

    cd /usr/bin/
    ln -s /usr/local/bin/sshpass

     

This reply was deleted.