Ver Feed RSS

Mr_Dom

Usando SSH para executar comandos no Mikrotik (DSA key Login)

Avaliação: 4 votos, 4,00 média.
Desde o RouterOS 2.9.13 já se tem suporte a SSH DSA keys, passando-se comandos via conexão SSH. Isso lhe permite executar scripts a partir de uma máquina remota em um RouterOS sem muito trabalho hoje em dia. Os exemplos abaixo estão usando FreeBSD - devem ser semelhantes em outras plataformas.

Você primeiro precisa criar uma chave usando ssh-keygen:
Código :
%ssh-keygen -t dsa

Isso cria uma chave DSA para que seja compatível com Mikrotik:
Código :
Generating public/private dsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_dsa.
Your public key has been saved in /home/user/.ssh/id_dsa.pub.
The key fingerprint is:
f0:d0:xx:ee:07:xx:bb:a8:xx:9e:e1:fe:77:48:xx:xx [EMAIL="[email protected]"][email protected][/EMAIL]

Certifique-se de deixar a senha em branco se você quiser essa chave em scripts automatizados.
Agora importe o certificado id_dsa para seu Mikrotik:
Código :
%ftp 10.20.1.1
Connected to 10.20.1.1.
220 mikrotik FTP server (MikroTik 2.9.16) ready
Name (10.20.1.1:user): admin
331 Password required for admin
Password:
ftp> put id_dsa.pub 
226 ASCII transfer complete
ftp> exit

Importar chave via terminal do Mikrotik (pode ser feito também via Winbox):
Código :
[[email protected]]> user ssh-keys import file=id_dsa.pub
user: admin-ssh

PS.: Sempre use um nome de Usuário diferente do admin do Mikrotik, por questões de segurança
Exemplos de comandos a serem executados apartir de um FreeBSD:
Código :
%ssh -l admin-ssh -i /home/user/.ssh/id_dsa 10.20.1.1 ":put \"hello\""

Código :
%ssh -l admin-ssh -i /home/user/.ssh/id_dsa 10.20.1.1 ":for i from=1 to=10 do={:put \$i}"

Código :
%ssh -l admin-ssh -i /home/user/.ssh/id_dsa 10.20.1.1 "/system gps monitor"
  date-and-time: mar/18/2006 08:30:39
      longitude: "W 117 00' 00''"
       latitude: "N 33 0' 00''"
       altitude: "200.199997m"
          speed: "0.185200 km/h"
          valid: yes

Código :
%ssh -l admin-ssh -i /home/user/.ssh/id_dsa 10.20.1.1 "/routing bgp peer print status"
Flags: X - disabled
 0   remote-address=xxx.xxx.129.196 remote-as=65333 multihop=yes
     in-filter=cymru-in out-filter=cymru-out route-reflect=no hold-time=3m
     ttl=60 tcp-md5-key="" remote-id=xxx.xxx.129.196 remote-hold-time=3h
     used-hold-time=3m used-keepalive-time=1m state=established
     uptime=1w1d10h54m55s prefix-count=68 refresh-capability=yes

Código :
%ssh -l admin-ssh -i /home/user/.ssh/id_dsa 10.20.1.1 "/ip firewall connection print count-only"
66566

Fonte: Wiki Mikrotik

Espero que ajude alguém. Até o próximo.

Att.
Portal Medianeira Informática Ltda
Dep. de Administração de Redes
msn: [email protected]
Maiko Rodrigo Britzke
(45) 3264-6107
(45) 9973-9746

Atualizado 16-12-2008 em 17:45 por Mr_Dom

Categorias
Mikrotik

Comentários

Página 2 de 2 PrimeiroPrimeiro 12
  1. Avatar de Christiano
    Sim, ativei. Fui em 'IP Service List' e cliquei em name 'api', o que após acendeu a 'luz' verde ao lado esquerdo do nome indicando sua ativação.

    De qualquer forma se não estivesse ativada ela não conectaria nem com admin.

    Na resposta, 1º bloco é possível ver a resposta do mikrotik 'Connected...' para o admin. Em seguida ele executa o comando add, desconecta e tenta reconectar com os dados do novo user. Mas é aé que ele não consegue. Ele tenta várias vezes seguidas, daí a repetição dos códigos nos blocos seguintes, e não consegue finalizando com 'Error...'.

    Eu já procurei aqui no fórum, na documentação da API e pelo google mas não consegui achar nenhum exemplo de utilização do comando 'add' ou 'set'.

    Estou um pouco nervoso porque, como ainda estou em período de experiência aqui na empresa, posso ser demitido por não conseguir construir esta ferramenta.
  2. Avatar de Christiano
    Só para deixar claro, eu usei o winBox para ativar a configuração básica da placa. Quando digo básica é básica mesmo. Não tem firewall ou qualquer configuração extra. Eu queria apenas o suficiente para começar a usar a API PHP e estudá-la. Mas nem isso eu tô conseguindo. Acho que a API PHP não funciona e já estou me preparando para buscar outra solução...
  3. Avatar de Christiano
    Olá,

    Consegui alterar e adicionar usuários. Vide link: http://under-linux.org/f143/api-php-...uarios-140768/
  4. Avatar de wendell
    Muito bom. Essas informações foram muito úteis para que eu desenvolvesse a minha própria de conexão com o Mikrotik. Em breve estarei postando os meus resultados obtidos, integrando PHP e SSH.
    abraço
  5. Avatar de TerrenceRochaPilantr
    Opa!!!!
    Atenção... Atenção
    Muito cuidado ao contratar qualquer serviço com esse terencerocha, pois eu cai nessa cilada,
    mandei o depósito adiantado como ele pedio, não pestou o serviço, como também não devolveu
    o dinheiro... mandou que fosse prestar queixa no procom...... é mollllll
Página 2 de 2 PrimeiroPrimeiro 12

+ Enviar Comentário