Em várias ocasiões, preciso de alguma automação via script que utilize um comando telnet. Existem vários problemas de segurança em relação ao uso do telnet, mas vários equipamentos de rede, entre switches e roteadores, fazem uso dele (se bem que é possível substituir por ssh).

 

Para usar em scripts, uma das formas mais fáceis de fazer isso é concatenando comandos. É possível fazer login, entrar com a senha, e enviar os comandos necessários.

Como exemplo, uma conexão telnet normalmente seria da seguinte forma:

  • Nome do servidor destino: server
  • Login: user
  • Senha: user

[helio@linux ~]$ telnet server 
Trying 10.10.7.4... 
Connected to server. 
Escape character is '^]'. 
login: user 
Password: 
user@server> exit 
logout 
Connection to server closed by foreign host.

Agora no formato para scripts, utilizando o pipe:


[helio@linux ~]$ (echo "user"; sleep 1; echo "user"; sleep 1;echo "date"; sleep 1) | telnet server 
Trying 10.10.7.4... 
Connected to server. 
Escape character is '^]'. 
login: 
Password: 
user@server>date 
Thursday, July 29, 2010 8:11:52 PM BRT 
user@server>
Connection to server closed by foreign host.

 

Cada comando echo envia para o telnet os comandos que seriam digitados. Utilizei um comando date como exemplo, mas é possível enviar outros comandos e até mesmo ler a saída do comando, redirecionando para um arquivo.

We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.