547 Stimmen

Ist es möglich, bei der Verwendung von rsync einen anderen ssh-Port anzugeben?

Ich habe den folgenden Befehl ausprobiert:

rsync -rvz --progress --remove-sent-files ./dir user@host:2222/path

SSH läuft auf Port 2222, aber rsync versucht immer noch, Port 22 zu verwenden und beschwert sich dann, dass der Pfad nicht gefunden wird, weil er natürlich nicht existiert.

Ich würde gerne wissen, ob es möglich ist, rsync auf einen entfernten Host an einem nicht standardmäßigen ssh-Port zu übertragen.

5voto

Rusty1 Punkte 314

Ich habe diese Lösung bei Mike gefunden Wanderung Hostetler's Website, die für mich perfekt funktioniert hat.

# rsync -avz -e "ssh -p $portNumber" user@remoteip:/path/to/files/ /local/path/

4voto

Luke Punkte 799

Beim Aufruf von rsync in Java (und vielleicht auch anderen Sprachen) habe ich festgestellt, dass die Einstellung

-e ssh -p 22

was dazu führt, dass rsync sich beschwert, es könne die Binärdatei nicht ausführen:

ssh -p 22

denn dieser Weg ssh -p 22 nicht existierte (die -p und 22 sind aus irgendeinem Grund keine Argumente mehr und bilden nun einen Teil des Pfades zu der Binärdatei, die rsync aufrufen soll).

Um dieses Problem zu umgehen, konnte ich diese Umgebungsvariable verwenden:

export "RSYNC_RSH=ssh -p 2222"

(Programmatisch eingestellt in Java mit env.put("RSYNC_RSH", "ssh -p " + port); )

3voto

Tomas Punkte 1111

Ein bisschen Offtopic, aber vielleicht hilft es jemandem. Wenn Sie Passwort und Port übergeben müssen, empfehle ich die Verwendung von sshpass Paket. Der Kommandozeilenbefehl würde wie folgt aussehen: sshpass -p "password" rsync -avzh -e 'ssh -p PORT312' root@192.xx.xxx.xxx:/dir_on_host/

1voto

CalfCrusher Punkte 315

Meine 2cents, in einem einzelnen System Benutzer können Sie den Port auch auf /etc/ssh/ssh_config dann wird rsync den hier eingestellten Port verwenden

-4voto

Ketema Punkte 5480

Ich konnte rsync nicht dazu bringen, sich über ssh mit einem anderen Port zu verbinden, aber ich konnte die ssh-Verbindung über iptables auf den gewünschten Computer umleiten. Das ist nicht die Lösung, die ich gesucht habe, aber sie hat mein Problem gelöst.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X