Pregunta

    

Esta pregunta ya tiene una respuesta aquí:

         

Estoy intentando copiar un archivo de mi servidor remoto a mi local. Aquí está mi script para ejecutarlo, usando 'esperar' para enviar automáticamente la contraseña

scp user@host:/folder/myFile ./
expect "Password: "
send "myPassword"

Cuando ejecuto esto, todavía me pide " Contraseña " ;, ¿qué está mal?

¿Fue útil?

Solución

Por lo que intenta hacer, parece que es mejor que use ssh con una clave pública y privada. Podrías buscar en google el tutorial de ssh-keygen para comenzar.

Otros consejos

Si bien estoy de acuerdo con Sam y Nik, la respuesta a sus preguntas es que no & "; presione enter &";

send "mypassword\r"

Este script de espera hace el trabajo (gracias a 'zedwood' )

#!/usr/bin/expect -f
set filename [lindex $argv 0]
set timeout -1
spawn scp $filename myusername@192.168.1.123:/home/myusername/
set pass "mypassword"
expect {
        password: {send "$pass\r" ; exp_continue}
        eof exit
}

por favor, ni siquiera deje esos scripts que serán recogidos por otra persona y utilizados en otro lugar ... intente autenticación de clave pública , es muy fácil de configurar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top