pass Passwort für den sftp in ein bash-script

Möchte ich automatisieren, um ein bash-Skript, dass eine Verbindung zum server Via sftp und nicht eine Datei übertragen. Ich habe das Passwort für diese, und zunächst habe ich versucht, für dieses

sftp $acc@$host << EOF
<passwd_here>
cd $dir
get $file
quit
EOF

aber es immer noch aufgefordert, das Kennwort zu, und ich musste ihn manuell eingeben, an der Eingabeaufforderung.

Nach der Suche SO, ich fand dieser Beitrag, die hatten eine Lösung mit expect, die ich versucht und ich bekam die folgende Fehlermeldung:

Skript:

sftp -b cmdfile.txt $acc@$host
expect "Password:"
send "<passwd>\n";
interact

Fehler:

Permission denied (publickey,keyboard-interactive).

cmdfile.txt

cd $dir
get $file
quit

Bitte lassen Sie mich wissen, Wie die Verbindung mit dem Passwort in der bash-Skript?

  • Besser expect scripts geschrieben werden können, aber ich würde vorschlagen, immer sshpass auf Ihrem client-Rechner. sshpass ist mehr gesichert und weniger fehleranfällig als sftp.
InformationsquelleAutor mtk | 2012-09-20
Schreibe einen Kommentar