Ir al contenido
  • 0
jstechg

Script con expect que se conecta por ssh a un switch.

Pregunta

Nesesito escribir un script que se conecte desde un PC con linux (Centos 7) a un switch, usando ssh, ejecute un comando en el switch (que devuelve información sobre el mismo) y guarde el resultado de ese comando en un fichero del PC para su análisis posterior.
Esto se debe hacer de forma automática, sin intervención manual de ningún tipo y para ello he escrito el siguiente script con Expect:

#!/usr/bin/expect
spawn ssh usuario@129.0.0.50
expect "assword:"
send "contrasenia\r"
expect ">"
send "show vlan 500\r"
sleep 2
send "exit"

El script se conecta correctamente al switch, espera dos segundos y cierra lo conexión, pero no se muestra por pantalla la información que se debe obtener al ejecutar:

show vlan 500

Para ser exactos, no muestra nada por pantalla.

Creo que esto sucede porque UNUX (y linux) automaticamente envía la salida de la ejecución de un comando a un bugger, y no a la pantalla, cuando este comando se ejecuta de forma no interactiva, como es el caso.

Lo importante no es que se muestre o no por pantalla, sino que la salida del comando se guarde en un fichero del PC desde el cual ejecuto el script para conectarme al switch.

Sin embargo, si no aparece nada por pantalla veo difícil poder guardar dicha salida.

¿Alguna idea para resolver esto?

 

Compartir este post


Enlace al post
Compartir en otros sitios

1 respuesta a esta pregunta

Recommended Posts

  • 0

No conozco expect.

Para conectar mis móviles y hacer un backup uso sshpass, de esta manera puede servirte:

sshpass -p "PASWORD" ssh USUARIO@X.X.X.X -p PUERTO "COMANDO1;COMANDO2;COMANDO3..." &> FICHERO.log

Luego analizas FICHERO.log cuando quieras.

Saludos

Compartir este post


Enlace al post
Compartir en otros sitios

Registra una cuenta o conéctate para comentar

Debes ser un miembro de la comunidad para dejar un comentario

Crear una cuenta

Regístrate en nuestra comunidad. ¡Es fácil!

Registrar una cuenta nueva

Iniciar Sesión

¿Ya tienes cuenta? Conéctate aquí.

Iniciar Sesión

×