una través tal solo seguro que publica por pida permite password para manera llave funciona contraseñas contraseña configurar conexiones conectarse conectar con ssh cygwin expect

través - ssh seguro ubuntu



Usando espera pasar una contraseña a ssh (6)

¿No sería más fácil usar la autenticación de clave pública y usar una clave sin contraseña?

A medida que el usuario en la máquina fuente hace esto para crear una clave RSA

ssh-keygen -t rsa

Ahora copie ~ / .ssh / id_rsa.pub en la máquina de destino y añádalo al archivo authorized_keys del usuario de destino

¿Cómo puedo esperar esperar a enviar una contraseña a una conexión ssh?

decir que la contraseña era p @ ssword y el comando ssh era ssh [email protected]

¿Qué haría con esperar a hacer que ingrese la contraseña cuando dice

contraseña de [email protected]:
?

La acción adecuada de usar un par de claves SSH no es una opción porque tendría que usar ssh (scp) para poner la clave en el servidor, que le pediría una contraseña.


Cygwin ha autoexpect simplemente no en el paquete bin. Ejecute setup.exe y busque esperar y marque la casilla de verificación fuente. verá el árbol resultante en / usr / src y allí hay un directorio de expect / expect / examples. allí vive una copia del script autoexpect.


Estoy bastante seguro de que no es posible hacer lo que intentas hacer. La mayoría de las aplicaciones * nix piden una contraseña leída directamente del TTY, no stdin, por lo que no puede insertar la contraseña. Puede, como han mencionado otros, configurar SSH para no solicitar una contraseña, como se explica here .

Después de haber votado negativamente sin motivo aparente, investigué un poco más sobre el comando expect y descubrí que tiene un comando send_tty que envía a / dev / tty en lugar de a stdin, que en realidad podría hacer lo que usted quiera ... Antes no era consciente de esta característica. Sin embargo, todavía recomiendo poner la llave en el servidor.


La solución clave no funcionará ... porque las claves deben ser leíbles solo por la persona que ejecuta ssh. En xp no puede crear una estructura de clave con los permisos correctos. Entonces ssh no los leerá. Esto puede haber cambiado, pero la última vez que lo revisé todavía no funcionaba.


Siempre usé la solución "adecuada", pero utilicé esperar en otras situaciones.

Here encontré la siguiente sugerencia:

#!/usr/local/bin/expect spawn sftp -b cmdFile [email protected] expect "password:" send "shhh!/n"; interact


Su forma más rápida de avanzar (a menos que desee convertirse en un experto en Tcl, lo que sería ... inusual ... en 2009) es probablemente usar autoexpect . Aquí está la página del hombre:

http://expect.nist.gov/example/autoexpect.man.html

En resumen, autoexpect , ejecute su sesión ssh, termine lo que necesita hacer, deje de esperar automáticamente y luego golpee su teclado sobre el desorden resultante hasta que funcione :) Supongo que no necesita nada más que una rápida Hack para obtener sus claves resueltas y luego, bueno, parece que ya sabes el puntaje con eso.

Y hay una pregunta que ya contiene un ejemplo cercano a lo que buscas.