Ich habe den folgenden Befehl versucht:
rsync -rvz --progress --remove-sent-files ./dir user@host:2222/path
SSH wird auf Port 2222 ausgeführt, aber rsync versucht immer noch, Port 22 zu verwenden, und beschwert sich dann darüber, dass der Pfad nicht gefunden wurde, da er natürlich nicht vorhanden ist.
Ich würde gerne wissen, ob es möglich ist, mit einem Remote-Host auf einem nicht standardmäßigen SSH-Port zu synchronisieren.
rsync
viele Male an einen seltsamen Port muss, aber jedes Mal ist es gerade so weit verteilt, dass man die Syntax vergisst.Ihre Befehlszeile sollte folgendermaßen aussehen:
Dies funktioniert einwandfrei. Ich verwende es ständig, ohne dass neue Firewall-Regeln erforderlich sind. Beachten Sie nur, dass der SSH-Befehl selbst in Anführungszeichen gesetzt ist.
quelle
user@host:/path
Wenn Sie Dateien über einen bestimmten SSH-Port senden müssen:
Beispiel
quelle
Verwenden Sie die Option "rsh". z.B:
Siehe: http://www.linuxquestions.org/questions/linux-software-2/rsync-ssh-on-different-port-448112/
quelle
Ein bisschen offtopic, könnte aber jemandem helfen. Wenn Sie Passwort und Port übergeben müssen, empfehle ich die Verwendung von
sshpass
package. Der Befehlszeilenbefehl würde folgendermaßen aussehen:sshpass -p "password" rsync -avzh -e 'ssh -p PORT312' [email protected]:/dir_on_host/
quelle
Ich habe diese Lösung auf der Website von Mike Hike Hostetler gefunden , die perfekt für mich funktioniert hat.
quelle
Die richtige Syntax besteht darin, Rsync anzuweisen, einen benutzerdefinierten SSH-Befehl zu verwenden (Hinzufügen von -p 2222), der mithilfe von SSH einen sicheren Tunnel zur Remote-Seite erstellt und dann über localhost: 873 eine Verbindung herstellt
Rsync wird als Daemon auf dem TCP-Port 873 ausgeführt, der nicht sicher ist.
Von Rsync Mann:
Was die Leute irreführt, dies zu versuchen:
Dies weist es jedoch an, eine Verbindung zum Rsync- Dämon auf Port 2222 herzustellen, der nicht vorhanden ist.
quelle
Ich konnte rsync nicht dazu bringen, eine Verbindung über ssh an einem anderen Port herzustellen, aber ich konnte die ssh-Verbindung über iptables auf den gewünschten Computer umleiten. Dies ist nicht die Lösung, nach der ich gesucht habe, aber sie hat mein Problem gelöst.
quelle