Frage

    

Diese Frage bereits eine Antwort hier:

         

Ich versuche, eine Datei von meinem Remote-Server auf meinem lokalen zu kopieren. Hier ist mein Skript, um es auszuführen, unter Verwendung von ‚erwarten‘ automaticlally in Passwort senden

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

Wenn ich dies ausführen, fordert es nach wie vor für „Passwort“, was falsch ist?

War es hilfreich?

Lösung

Von dem, was Sie versuchen, es zu tun, klingt wie Sie besser dran sein könnten ssh mit einem öffentlichen und privaten Schlüsseln. Man könnte Google für ssh-keygen Tutorial zu beginnen.

Andere Tipps

Während ich mit Sam und nik, die Antwort auf die Fragen einig sind, ist, dass Sie nicht das „Hit enter“:

send "mypassword\r"

Das erwartet Skript macht den Job (dank '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
}

bitte lassen Sie nicht einmal solche Skripte um, dass von jemandem abgeholt werden anders und anderswo verwendet .... versuchen Sie public-Key-Authentifizierung ist, ist es zu Setup sehr einfach.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top