Autor Tópico: Script para login automático em Telnet [Resolvido] - Usando SSH  (Lida 7280 vezes)

Offline Arthur Bernardes

  • Usuário Ubuntu
  • *
  • Mensagens: 4.692
    • Ver perfil
Script para login automático em Telnet [Resolvido] - Usando SSH
« Online: 03 de Fevereiro de 2014, 19:45 »
Olá amigos!

Estou precisando criar um script em "bash" para fazer um login automático via telnet no RouterOS!

Esse login automático é necessário já fornecer o usuário e senha, e se possível já executar algum comando!

Depois de muito pesquisar, consegui um script em "sh" que já fornece o usuário e senha (à partir de variáveis) e faz o login automaticamente, mas o "prompt" não fica disponível aparecendo alguns caracteres e logo desconecta, gostaria de saber onde está o erro.

O script em questão é esse: http://paste.ubuntu.com/6869484/

Vi também que o script em "expect" tem mais sucesso, mas não consegui usá-lo por não ter em "/usr/bin", somente o "/usr/bin/bash" e "/usr/bin/sh".

Sei que isso pode comprometer a segurança, mas é para testes em máquina virtual, é para conhecimento mesmo!

Sobre o "expect" já fiz as seguintes pesquisas, porém sem sucesso!

[1] http://stackoverflow.com/questions/11250564/how-to-automate-telnet-session-using-expect
[2] http://smacak.wordpress.com/2010/08/15/automatic-login-expect-scripts-telnet-and-ssh/
[3] http://en.kioskea.net/faq/4736-shell-script-for-telnet-and-run-commands
[4] http://stackoverflow.com/questions/7789710/expect-script-to-automate-telnet-login

A foto do terminal é essa abaixo:



Desde já agradeço toda a ajuda!
« Última modificação: 16 de Maio de 2014, 20:52 por Arthur Bernardes »

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Mensagens: 19.735
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • Ver perfil
    • Blog do Zekke
Re: Script para login automático em telnet
« Resposta #1 Online: 16 de Maio de 2014, 19:40 »
Olá Arthur, esse roteador tem SSH? Se tiver, vc pode usar uma chave criptográfica pra logar no roteador sem precisar enviar uma senha.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Offline Arthur Bernardes

  • Usuário Ubuntu
  • *
  • Mensagens: 4.692
    • Ver perfil
Re: Script para login automático em telnet
« Resposta #2 Online: 16 de Maio de 2014, 20:43 »
Sim, o roteador tem suporte ao SSH.

Gerei a chave com o comando ssh-keygen -t dsa, colooquei a senha que desejo  e exportei via FTP o arquivo pro meu roteador, lá criei o usuário "arthur" e defini para ele o arquivo ".pub".

Código: [Selecionar]
Generating public/private dsa key pair.
Enter file in which to save the key (/home/arthur/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/arthur/.ssh/id_dsa.
Your public key has been saved in /home/arthur/.ssh/id_dsa.pub.
The key fingerprint is:
e5:63:34:33:39:93:7e:59:14:7b:0c:ad:db:ee:32:7b arthur@Servidor
The key's randomart image is:
+--[ DSA 1024]----+
|              +o |
|           o . +.|
|          @   o.o|
|         = * o.. |
|        S = o  o |
|         . o  . .|
|               . |
|              o E|
|              .*.|
+-----------------+

Quando vou acessar pela primeira vez da  minha máquina com o comando ssh arthur@172.16.1.1, deu a seguinte mensagem:

Código: (ssh arthur@172.16.1.1) [Selecionar]
authenticity of host '172.16.1.1 (172.16.1.1)' can't be established.         SA key fingerprint is a0:44:a7:a6:e3:17:a5:cb:89:84:58:f0:34:c5:1b:07.
Quando eu coloco a senha gerada no arquivo, o acesso vai normalmente, mas isso ocorre toda vez que eu dou o acesso SSH.

Quando vou acessar pelo SSH, sempre aparece essa mensagem abaixo, e quando coloco a senha, o acesso dá normalmente.

Código: [Selecionar]
Enter passphrase for key '/home/arthur/.ssh/id_dsa':
A chave já foi exportada para o roteador e para o usuário citado.



O que mais falta eu fazer? Lembrando que somente exportei o arquivo "id_dsa.pub", os arquivos "id_dsa" e "know_hosts" não copiei para o roteador.

Desde já agradeço a ajuda.



Voltei amigo, foi erro meu ter digitado a senha durante a geração da chave, agora percebi que eu não poderia digitar a senha para dar um acesso "automático", agora deu tudo certo, obrigado pela ajuda amigo!
« Última modificação: 16 de Maio de 2014, 20:52 por Arthur Bernardes »

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Mensagens: 19.735
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • Ver perfil
    • Blog do Zekke
Re: Script para login automático em Telnet [Resolvido] - Usando SSH
« Resposta #3 Online: 16 de Maio de 2014, 22:49 »
Que bom que resolveu!

Eu já uso essa solução há um bom tempo, com vários servidores, pra fazer cópias de segurança a partir do cron.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Offline Arthur Bernardes

  • Usuário Ubuntu
  • *
  • Mensagens: 4.692
    • Ver perfil
Re: Script para login automático em Telnet [Resolvido] - Usando SSH
« Resposta #4 Online: 16 de Maio de 2014, 22:53 »
Que bom que resolveu!

Eu já uso essa solução há um bom tempo, com vários servidores, pra fazer cópias de segurança a partir do cron.

Obrigado amigo, nem tinha me passado pela cabeça o SSH! :) Abraços!