+ Responder ao Tópico



  1. #1

    Padrão Acessando o Mk por ssh com criaçao de chave publica/privada.

    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;

  2. #2
    Analista de Suporte em TI Avatar de demattos
    Ingresso
    Jul 2011
    Localização
    Criciuma/SC
    Posts
    1.923
    Posts de Blog
    3

    Padrão Re: Acessando o Mk por ssh com criaçao de chave publica/privada.

    boa contribuicao amigo

  3. #3

    Padrão Re: Acessando o Mk por ssh com criaçao de chave publica/privada.

    Excelente!!!!

    Olha! Tava na lista de prioridades pra quando fosse criar a parte financeira que vai ficar na web. Como você mastigou vou mudar o status e colocar como resolvido. kkk
    []'s

  4. #4
    André Andrade*MikrotikRio Avatar de interhome
    Ingresso
    Oct 2008
    Localização
    Brasil.
    Posts
    1.116
    Posts de Blog
    15

    Padrão Re: Acessando o Mk por ssh com criaçao de chave publica/privada.

    Parabens pela iniciativa.
    Estou procurando uma forma de enviar o backup de uma rb para outro mk.

  5. #5

    Padrão Re: Acessando o Mk por ssh com criaçao de chave publica/privada.

    Citação Postado originalmente por interhome Ver Post
    Parabens pela iniciativa.
    Estou procurando uma forma de enviar o backup de uma rb para outro mk.
    vc pode fazer isso tambem com script de shell no linux se quizer, acessando a rb que vc quer copiar o arquivo de backup pre-criado por ftp, puxando pra maquina linux, dali vc manda tambem por ftp para a outra rb, se vc ja tiver na outra rb um script pra recepcionar esse backup, vc pode tratar ele como quizer, restaurando etc...
    Como disse acima dá pra fazer o script que vc quizer em Shell, quem quizer pode incrementar e postar aqui mesmo neste tópico pra galera aí.