Ich möchte ein Skript in HP-UX erstellen, um per SFTP mit Passwort zu senden. Ich habe diesen Befehl
sftp -o PasswordAuthentication=
aber wenn ich danach mit Ja oder Nein antworte, habe ich das Problem „Host-Schlüsselüberprüfung fehlgeschlagen“
Antwort1
Wenn Sie socat
es zur Hand haben, finden Sie dieses Beispiel im Handbuch, das Sie verwenden können.
(sleep 5; echo PASSWORD; sleep 5; echo ls; sleep 1) |
socat - EXEC:'ssh -l user server',pty,setsid,ctty
EXEC’utes an ssh session to server. Uses a pty for communication
between socat and ssh, makes it ssh’s controlling tty
(ctty), and makes this pty the owner of a new process group
(setsid), so ssh accepts the password from socat.
Antwort2
Es wäre besser, die Authentifizierung mit öffentlichem/privatem Schlüssel zu verwenden, aber falls Sie das Passwort trotzdem in Ihrem Nur-Text-Skript verwenden möchten, würde ich verwenden lftp
. Es ist ein großartiger Client, der FTP-, SFTP- und FTPS-Verbindungen ermöglicht. Sie müssen für die vollständige Transaktion nur „hier Dokument“ verwenden:
lftp sftp://your.destination.sftp -u yourUser,YourPassword << fin
get yourfile
bye
fin
Antwort3
Sie können das folgende SFTP-Skript mit Benutzername, Passwort und Destip ausprobieren.
#!/usr/bin/expect
spawn sftp username@destip
expect "username@destip's password:"
send "passwd\n"
expect "sftp>"
send "get filename\n"
expect "sftp>"
send "bye\n"
Antwort4
SFTP kann ohne Passwort verwendet werden
pubkey auth = very safe strong encryption
kerberos = need server,encryption is not strong
Andernfalls verwenden Sie expect, um das Passwort zu senden. ACHTUNG! Das Passwort ist mit ps sichtbar, daher ist diese Lösung völlig unsicher.