Problema de contraseña esperada de SSH con inicio de sesión

Hola, tengo el siguiente script que hace un inicio de sesión ssh en mi servidor.

  spawn ssh presnetwork@192.168.244.14
                              expect "*(yes/no)?"
                             send "yes"
                                expect  "password:"
                                  send  "pwd\n"
                              close

funciona bien, pero no pasa el valor 'pwd' al sistema, por lo que el script se agota y se cierra. ¿Alguna sugerencia?

preguntado el 12 de junio de 12 a las 18:06

Prefiero sugerir usar claves ssh para usar ssh en scripts y luego tener su contraseña en ese archivo de script. -

"Funciona bien, pero no pasa el valor 'pwd' al sistema, por lo que el script se agota y se cierra". ¿Suena más como si no funcionara en absoluto? -

2 Respuestas

Puede probar con "KbdInteractiveAuthentication" establecido en "no" (ssh -o KbdInteractiveAuthentication="no" presnetwork@192....). SSH por defecto usa la Autenticación Interactiva del Teclado, que es algo expect podría no entender.

Recomiendo encarecidamente que utilice la autenticación de clave pública en su lugar (como ya recomienda Flo). Es mucho más fácil de manejar, mucho más seguro y mucho más cómodo. Si solo está buscando una forma de iniciar sesión en un servidor remoto sin tener que ingresar la contraseña cada vez, eche un vistazo a ssh-agent, que almacenará la contraseña después de que la ingrese una vez en su sesión de escritorio. Si realmente no desea ingresar su contraseña, use pam_ssh, donde se utilizará la contraseña de inicio de sesión de su escritorio.

Respondido el 12 de junio de 12 a las 19:06

De forma predeterminada, el comando expect aún no está instalado. Por lo tanto, debe instalarlo para adquirir la salida correcta.

Respondido el 12 de junio de 12 a las 18:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.