Quem tem um provedor com mikrotik sabe como é dificil as vezes digitar o mesmo comando em varias rbs,para acesso a sua RB por ssh através do Linux via ssh vc pode criar uma chave publica/privada para acessar a rb sem a necessidade de digitar senha toda vez que for acessar, desta forma voce mantem com segurança, um acesso a sua rb e pode criar diversos scripts para melhor controle das suas rbs.
no Linux gera a chave com o comando:
ssh-keygen -t tipo-de-chave
O tipo de chave especifica que método de criptografia será usado para criação desta chave, pode ser rsa1, rsa ou dsa
entao o comando para a criaçao da chave ficaria por exemplo:
ssh-keygen -t dsa
Após o exemplo acima será criado duas chaves, uma id_dsa e uma id_dsa.pub
Com as chaves criadas, a autenticaçao será feita através da combinaçaos destas chaves, voce manda a chave publica para sua rb por ftp ou do jeito que vc quizer enviar, dentro da sua rb vc associa sua chave id_dsa.pub a um usuario criado para ser acessado via ssh.
Por exemplo: Digamos que vc criou um usuario na rb com o nome admin_ssh, em /system/users na aba ssh keys voce faz a associaçao da chave importada para o usuario admin_ssh.
Depois disso é só digitar um comando para acesso a rb informando onde esta a chave privada combinada seguido de um comando que voce quer executar dentro da rb.
Ex: ssh -p 2202 -l admin_ssh -i /root/.ssh/id_dsa 192.168.20.20 "/system identity print"
O Exemplo acima -p é a porta configurada na Rb para segurança troque a porta padrao 22 para outra porta, caso voce use a porta padrao que é a 22, simplesmente nao use o parâmetro -p. admin_ssh é o usuario criado na rb que ja esta associado a chave como mencionado mais acima, depois vem o endereço da locaizaçao da chave privada criada. Adiante o ip da Rb que voce esta acessando e por fim um comando que será executado dentro da Rb, no caso acima o comando /system identity print simplesmente da um print apresentando o nome de identificaçao da Rb.
Abaixo vou colocar um script simples para acessar varias rbs e usando um script de shell no linux voce pode executar um só comando em todas as rbs da sua rede, por exemplo se voce quizer trocar a senha de todas as rbs com um só comando, quando aquele seu técnico que tanto te deu trabalho voce resolveu demitir e precisa mudar todas as senhas que ele acessava.
#!/bin/bash
#Script teste para acesso e envio de comandos para Routerboards
user="admin_ssh"port="2222"
# inicio
echo "------------- Digite o comando"
read domando
for i in `cat /root/rbconfig/rbs.txt`;do "nesta linha voce Informa o endereço de um arquivo onde voce colocara o ip de cada rb que irá acessar."
echo "Executando em $i"
ssh -p$port $user@$i "$comando"
if [ $? = 0 ]; then
echo "CONSEGUI em $i" >> /tmp/out.txt
else
echo "NAO CONSEGUI em $i" >> /tmp/out.txt
fi
done
echo "Saida de out.txt"
cat /tmp/out.txt
Bom pessoal, daqui por diante pode-se criar scripts bem mais elaborados, depende da criatividade de cada um, espero ter contribuido;