Estoy intentando automatizar la conexion telnet con otro equipo, pero me sale un (famoso según he estado leyendo por internet) error "Connection closed by foreign host."
Os pongo en situación y lo que no entiendo.
1º Si ejecuto en la terminal de linux, a mano la conexión me muestra lo siguiente:
Citar
root@kali:~/Desktop# telnet 192.168.192.129 23
Trying 192.168.192.129...
Connected to 192.168.192.129.
Escape character is '^]'.
login: 1234
password:
Microsoft Windows [Versi�n 6.1.7601]192.129 23
Copyright (c) 2009 Microsoft Corporation. Reservados todos los derechos.
Connected to 192.168.192.129.
C:\Users\josst\Desktop>]'.
Trying 192.168.192.129...
Connected to 192.168.192.129.
Escape character is '^]'.
login: 1234
password:
Microsoft Windows [Versi�n 6.1.7601]192.129 23
Copyright (c) 2009 Microsoft Corporation. Reservados todos los derechos.
Connected to 192.168.192.129.
C:\Users\josst\Desktop>]'.
Vemos que nos hemos conectado sin problemas.
Pero si ejecuto el script, me da la siguiente salida:
Citar
root@kali:~/Desktop# ./2
telnet> Trying 192.168.192.129...
Connected to 192.168.192.129.
Escape character is '^]'.
login: 1234
1234
Connection closed by foreign host.
telnet> Trying 192.168.192.129...
Connected to 192.168.192.129.
Escape character is '^]'.
login: 1234
1234
Connection closed by foreign host.
El código del script es:
Citar
#!/bin/bash
# donde cmd es el comando a ejecutar
host=192.168.192.129
port=23
user=1234
pass=1234
#cmd1='dir'
( echo open ${host}
sleep 1
echo ${user}
sleep 1
echo ${pass}
sleep 1
#echo ${cmd}
#sleep 1
) | sudo telnet
# donde cmd es el comando a ejecutar
host=192.168.192.129
port=23
user=1234
pass=1234
#cmd1='dir'
( echo open ${host}
sleep 1
echo ${user}
sleep 1
echo ${pass}
sleep 1
#echo ${cmd}
#sleep 1
) | sudo telnet
¿A que puede deberse el error?
Muchas gracias de antemano. Saludos