Kann jemand erklären, wann rsync
auf dem Remote-Host Port 22 und wann Port 873 verwendet wird?
Kann es so eingestellt werden, dass immer Port 22 verwendet wird, da ich gehört habe, dass Port 873 verwendet werden muss, wenn es als Daemon ausgeführt wird? Kann das jemand in einfachen Worten erklären.
Antwort1
Sie können den Parameter -e verwenden, um den SSH-Port anzugeben, z. B. rsync -rvz -e 'ssh -p $port' ./dir user@host:/path
Antwort2
Zum Kontext rsync
heißt es in der Dokumentation
Es gibt zwei verschiedene Möglichkeiten für rsync, ein Remote-System zu kontaktieren: die Verwendung eines Remote-Shell-Programms als Transportmittel (wie ssh oder rsh) oder die direkte Kontaktaufnahme mit einem rsync-Daemon über TCP. Das Remote-Shell-Transportmittel wird immer dann verwendet, wenn der Quell- oder Zielpfad nach einer Host-Spezifikation einen einzelnen Doppelpunkt (:) als Trennzeichen enthält. Die direkte Kontaktaufnahme mit einem rsync-Daemon erfolgt, wenn der Quell- oder Zielpfad nach einer Host-Spezifikation einen doppelten Doppelpunkt (::) als Trennzeichen enthält ODER wenn eine rsync://-URL angegeben ist.
Port 22 ist der SSH-Port; er wird verwendet, wenn Sie rsync
eine Verbindung herstellen möchtenüberSSH, mit einem einzelnen Doppelpunkt (der Fall „Remote-Shell“ oben). Port 873 ist der rsync
Dæmon-Port; er wird verwendet, wenn rsync
er mit einem doppelten Doppelpunkt oder einer rsync://
URL verwendet wird.
Meistens werden Sie SSH verwenden; die Verwendung des Dæmons erfordert eine spezielle Einrichtung. Wenn Sie immer nur Port 22 verwenden möchten, müssen Sie im Remote-Host-Deskriptor immer nur einen einzelnen Doppelpunkt angeben.