2 votos

Cómo introducir la contraseña automáticamente en .command

Así que mi archivo .command tiene el siguiente aspecto

ssh someuser@someip.com

Cuando ejecuto sólo esto me pide la contraseña, ¿cómo hago para que el terminal introduzca la contraseña en lugar de tener que escribirla yo? He probado esto:

ssh someuser@someip.com
password

Pero eso no funciona.

1voto

Oskar Puntos 1242

Podría almacenar las claves ssh o guardar su contraseña en el archivo ~/.ssh/config (ver man ssh_config para más detalles) pero eso sería una especie de trampa ya que no está realmente en su archivo .command.

Por supuesto, podrías scribir la adición (y opcionalmente la eliminación) de las entradas necesarias para modificar las claves ssh o los cambios en el archivo de configuración.

Yo haría un simple expect script - para esperar la solicitud de contraseña y luego introducir su contraseña.

#!/usr/bin/expect -f
set bad_idea cleartext_passwords_are_insecure
set timeout -1
# now connect using ssh
spawn ssh user@example.com
expect "*?assword:*"
send -- "$bad_idea\r"
send -- "\r"
expect elf

No tienes que usar una variable $bad_idea y podrías simplemente enviar la contraseña antes del \r

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X