Ich möchte einen RSync-Job einrichten, der eine Verbindung über SSH herstellt.
Ich habe meinen Computer (backup @ myhost) und den Remote-Host (test @ remhost) und muss den Ordner ~ / something mit all seinen Inhalten sichern. Der SSH-Benutzertest hat nur Lesezugriff auf alle Dateien und Ordner im Ordner ~ /. Ich möchte rsync verwenden, um den Ordner test @ remhost: ~ / something in den Ordner backup @ myhost: ~ / bak zu kopieren.
Zu diesem Zweck verwende ich den folgenden Befehl über BASH unter Ubuntu 11.10 (Oneiric):
rsync -avz -e ssh test@remhost:~/something/ ~/bak/
Nach dem Drücken der Eingabetaste erhalte ich Folgendes:
test@remhost's password:
Ich gebe das Passwort ein und der rsync funktioniert.
Ich möchte den obigen Befehl ausführen, um das Kennwort automatisch einzugeben und als Parameter zu übergeben, oder um es automatisch einzugeben und den Job zu starten.
Ich habe versucht es auszuführen, rsync -avz -e ssh test:password@remhost:~/something/ ~/bak/
aber es fragt immer noch nach dem Passwort und es ist ärgerlich.
Ich möchte keine Art von Schlüsseln hören (RSA, DSA oder andere). Ich möchte nur einen einfachen Befehl, der mich anmeldet und die Arbeit erledigt.
BEARBEITEN: Ein mögliches Szenario könnte sein, wenn die Authentifizierung mit öffentlichem Schlüssel deaktiviert ist und Sie dies nicht ändern können. Wenn Sie beispielsweise OpenSSH verwenden, benötigen Sie Root-Berechtigungen auf dem Server, um die Datei zu bearbeiten sshd_config
und hinzuzufügen PubkeyAuthentication yes
.
EDIT: Dies ist , was für mich endlich geklappt:
sshpass -p 'sshpassword' rsync --progress -avz -e ssh test@remhost:~/something/ ~/bak/
Bitte beachten Sie, dass diese Methode nicht als sicher eingestuft wird, da sie das Kennwort im Klartext sendet und für Man-in-the-Middle-Angriffe anfällig ist. Es wird empfohlen, die Schlüsselauthentifizierung für eine stärkere Sicherheit zu verwenden.