Dica: Atualizando os rádios da Ubiquiti em lote via SSH

Esse artigo é para você que tem muitos rádios da Ubiquiti e não quer ou não pode usar o AirControl para atualizá-los. Com um simples script feito em bash é possível atualizar todos os seus rádios. Basta que o servidor de SSH esteja ativo neles e que todos tenham o mesmo usuário e senha. Estou deduzindo que você não configurou o método de autenticação por chaves assimétricas. Faça o seguinte procedimento:

  • Crie um diretório chamado ubnt
  • Baixe a última versão dos firmware de cada plataforma que você usa na sua rede (XM, XW…) dentro desse diretório.
  • No mesmo diretório, crie um arquivo com o nome atualizar_radios.sh com o conteúdo abaixo:

  • crie também um arquivo chamado lista_radios.txt com os endereços IP de todos os rádios que você queira atualizar. Coloque, de preferência, na ordem dos mais distantes para os mais próximos, um em cada linha.
  • Altere o valor das variáveis usuario e senha para os que você usa na sua rede.
  • Se você não tiver o comando sshpass, instale-o: sudo apt-get install sshpass (Ubuntu e Debian). Eu usei o sudo equo i sshpass (Sabayon).
  • Execute o script com o comando sh atualizar_radios.sh ou torne-o executável:
    • chmod o+x atualizar_radios.sh
    • ./atualizar_radios.sh

Alguns comentários sobre o script. O parâmetro -o “StrictHostKeyChecking no” do SSH foi usado para que ele não peça autorização para adicionar o IP na lista de hosts conhecidos. O parâmetro -o KexAlgorithms=+diffie-hellman-group1-sha1 do SSH foi usado por questão de compatibilidade, porque algumas versões antigas do SSH da Ubiquiti só aceitam esse método. No último comando SSH foi usado o parâmetro -f para que ele não fique esperando o processo de atualização, deixando-o rodar em background. Além disso as mensagens de erro e da saída padrão foram redirecionadas para /dev/null para não atrapalhar a visualização das mensagens referentes ao próximo rádio na continuidade do loop.

Esse script é util para quem tem os rádios em bridge sem acesso à internet. Foi testado em rádios da plataforma XM e XW.

O sshpass foi usado apenas por conveniência, já que pode trazer problemas de segurança. Pense bem antes de usar ele em servidores na internet.

Algumas checagens extras podem ser feitas, mas deixo como dever de casa.

Use por sua conta e risco.

Se quiser aprender como fazer o backup dos rádios em lote veja esse artigo:
http://daniel.hoisel.com.br/2016/07/10/dica-fazendo-backup-dos-radios-ubiquiti-em-lote-via-ssh/

8 respostas para “Dica: Atualizando os rádios da Ubiquiti em lote via SSH”

  1. Muito bom.

    Unico problema (que é o meu), eu tenho 120 rádios. cada um tem o mesmo usuarios mas senahs diferentes.
    Vc sabe como fazer pra eu nao precisar fazer um script pra cada dispositivo?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *