2017-07-09 5 views
-1

Ich muss Dateien von Maschine 'A' zu Maschine 'B' übertragen und ich führe den Befehl von Maschine aus 'C'.Bash File Transfer Problem mit SCP

Run Command : 

$sshpass -p 'password_for_a' ssh -A -t [email protected] rsync -avz /home/test/* [email protected]:/home/test/ 

Dies fordert die „Password“ für Maschine „B“, die ich möchte nicht manuell eingeben. Ich kann "sshpass" nicht auf Maschine "A" installieren, weil ich keine Berechtigung habe, lib/packages zu installieren.

Gibt es trotzdem das Passwort mit rsync/scp für den obigen Befehl?

Ich versuchte Passing Passwort mit 'scp' 'PreferredAuthentications' auch.

$sshpass -p 'password_for_a' ssh -A -t [email protected] scp -o PreferredAuthentications="password_for_b" /home/test/* [email protected]:/home/test/ 

Ich erhalte,

Permission denied (publickey,password). 
lost connection 

Wenn ich falsch irgendwo bin, mich bitte korrigieren?

+2

Der Server unterstützt die Authentifizierung mit öffentlichen Schlüsseln. Es ist am besten, wenn Sie das einrichten und Passwörter nicht weitergeben. – l0b0

+0

Da ich bei der Authentifizierung mit öffentlichen Schlüsseln in den Konfigurationsdateien nicht stören möchte, wollte ich es mit dem obigen Weg glatt machen. Müssen Sie schauen, wenn es keine Option gibt! Danke trotzdem – Arun

+0

Es gibt eine Passwort-Datei-Option mit Rsync aber nur wenn ein Rsync-Daemon auf dem Remote-Server läuft. –

Antwort

1

Es gibt nichts wie PreferredAuthentications="password_for_b". Die Authentifizierungsmethode heißt password. Wenn Sie etwas ungültiges angeben, schlägt es offensichtlich fehl. Richten Sie die Authentifizierung mit öffentlichem Schlüssel ein.

1

Danke Alles, ich generierte ssh-keygen und kopierte Schlüsseldateien zu (* .pub) jeweiligen Maschinen. Jetzt kann ich Passwort weniger Authentifizierungen tun. Klare nach den Diskussionen.

Verwandte Themen