Script para login automático em Telnet [Resolvido] - Usando SSH

Iniciado por Arthur Bernardes, 03 de Fevereiro de 2014, 19:45

tópico anterior - próximo tópico

Arthur Bernardes

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!

zekkerj

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

Arthur Bernardes

#2
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".

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.

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!

zekkerj

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

Arthur Bernardes

Citação de: zekkerj 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.

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