Tengo un script de espera que se conecta a unos pocos enrutadores a través de ssh. Todos estos enrutadores tienen la misma contraseña (lo sé, está mal), y el script necesita conocer esa contraseña para poder conectarse a los enrutadores. Actualmente, la contraseña se pasa a mi secuencia de comandos como un argumento en la línea de comandos, pero esto significa que hay un rastro de esa contraseña en mi archivo .bash_history, así como en los procesos en ejecución. Entonces, en su lugar, me gustaría que se le solicite una contraseña al usuario, si es posible de forma silenciosa.¿Cómo puedo hacer que un script espere una contraseña?
¿Sabe si es posible o no solicitar al usuario una contraseña con la expectativa?
Gracias.
Editar: si me estuviera conectando a servidores en lugar de enrutadores, probablemente usaría claves ssh en lugar de contraseñas. Pero los enrutadores que uso solo admiten contraseñas.
fresca gracias! Es sorprendente lo intolerante que es este lenguaje: escribí "set pass $ expect_out (1, string)", con un espacio antes de la palabra "string", y se bombardea. No puedo encontrar mucha documentación tampoco. Ojalá hubiera alguna otra solución de la que esperaba. De todos modos, muchas gracias. – MiniQuark
"no se puede encontrar mucha documentación"?!? Hay un libro completo, que generalmente se considera tan bien escrito que no ha necesitado una segunda edición. En serio, revisa ese libro. –
Re: un espacio entre "1" y "cadena" - Tcl (y por lo tanto, espera) no tiene matrices multidimensionales. La clave de matriz es solo una cadena, y "1, cadena" y "1, cadena" son diferentes. –