es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Estoy intentando crear un archivo de lote para ejecutar comandos en mi enrutador, pero no logro superar la contraseña de habilitación.

Tengo el siguiente script escrito para ingresar al enrutador.

"plink.exe" -ssh nombredeusuario@host -pw contraseña < "input.txt"

El problema es que una vez que estoy dentro del enrutador, necesito habilitarlo y luego ingresar otra contraseña antes de poder ejecutar comandos. Cuando ejecuto este script, llega a la parte de habilitar pero no ingresa la contraseña. Según entiendo, en mi “input.txt” tengo el comando “enable” que se ejecuta, pero si pongo cualquier cosa después de eso, lo ejecuta como un nuevo comando. Después de ingresar el comando “enable”, necesito ingresar una contraseña antes de ejecutar más comandos y no puedo simplemente ponerla directamente debajo de “enable” en “input.txt”.

¿Hay alguna forma de solucionar esto?

Aquí está el archivo input.txt que he configurado:

enable
contraseña
config t
(Deseo ingresar diferentes comandos aquí una vez en modo de configuración)

Gracias por su ayuda.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para ingresar la contraseña después del comando “enable”, puede utilizar el comando “expect” en el archivo por lotes. Aquí hay un ejemplo de script:

    @echo off
    set username=username
    set password=password
    set router=routerIP
    
    echo Iniciando sesión...
    echo.
    
    echo Habilitando...
    echo.
    
    rem La siguiente línea ejecuta plink, envía el comando "enable" y espera la indicación "Password:". 
    rem Una vez que recibe la indicación, envía la contraseña.
    echo enable | plink.exe -ssh %username%@%router% -pw %password% -noagent -batch -t "(echo %password% && sleep 1) | /usr/bin/script.sh"
    
    echo.
    echo Sesión finalizada.
    

    En este script, se utiliza el comando “expect” para esperar la indicación “Password:” y luego enviar la contraseña. Deberá modificar el script para utilizar las rutas y comandos correctos según su enrutador y configuración específicos.

Comments are closed.