Wie man Dateien/Verzeichnisse mit Rsync mit einem nicht standardmäßigen SSH-Port synchronisiert

Heute werden wir darüber sprechen, wie man Dateien mit rsync über einen nicht standardmäßigen SSH-Port synchronisiert. Sie fragen sich vielleicht, warum wir einen nicht standardmäßigen SSH-Port verwenden müssen? Es ist wegen Sicherheitsgründen. Jeder kennt 22 als den SSH-Standardport.

Rsync Files Over SSH Non-standard Port

Es ist also zwingend erforderlich, Ihren SSH-Standardport auf eine schwer zu erratende Nummer zu ändern. In solchen Fällen, wie synchronisieren Sie dann Ihre Dateien/Ordner mit Ihrem Remote-Server? Keine Sorge, es ist nicht so schwierig. Hier werden wir sehen, wie man Dateien und Ordner mit rsync über einen nicht standardmäßigen SSH-Port synchronisiert.

Wie Sie vielleicht wissen, ist rsync, auch bekannt als Remote Sync, ein schnelles, vielseitiges und leistungsstarkes Werkzeug, das zum Kopieren und Synchronisieren von Dateien/Verzeichnissen von lokal zu lokal oder von lokal zu entfernten Hosts verwendet werden kann. Für weitere Details zu rsync, siehe die Man-Pages:

# man rsync

Oder siehe unseren vorherigen Leitfaden über den folgenden Link.

  1. Rsync: 10 Praktische Beispiele des Rsync-Befehls in Linux

Ändern Sie den SSH-Port auf einen nicht standardmäßigen Port

Wie wir alle wissen, verwendet rsync standardmäßig den SSH-Port 22, um Dateien zwischen lokalen und entfernten Hosts zu synchronisieren. Wir sollten den SSH-Port unseres Remote-Servers ändern, um die Sicherheit zu erhöhen.

Um dies zu tun, öffnen und bearbeiten Sie die SSH-Konfigurationsdatei /etc/ssh/sshd_config:

# vi /etc/ssh/sshd_config 

Finden Sie die folgende Zeile. Entkommentieren Sie sie und ändern Sie die Portnummer Ihrer Wahl. Ich empfehle Ihnen, eine Nummer zu wählen, die sehr schwer zu erraten ist.

Stellen Sie sicher, dass Sie eine eindeutige Nummer verwenden, die von bestehenden Diensten nicht verwendet wird. Überprüfen Sie diesen Netstat-Artikel, um zu erfahren, welche Dienste auf welchen TCP/UDP-Ports ausgeführt werden.

Zum Beispiel verwende ich hier die Portnummer 1431.

[...]
Port 1431
[...]

Speichern und schließen Sie die Datei.

In RPM-basierten Systemen wie RHEL, CentOS und Scientific Linux 7 müssen Sie den neuen Port durch Ihre Firewall oder Ihren Router zulassen.

# firewall-cmd --add-port 1431/tcp
# firewall-cmd --add-port 1431/tcp --permanent

Auf RHEL/CentOS/Scientific Linux 6 und höher sollten Sie auch die Berechtigungen von Selinux aktualisieren, um den Port zuzulassen.

# iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1431 -j ACCEPT
# semanage port -a -t ssh_port_t -p tcp 1431

Starten Sie schließlich den SSH-Dienst neu, um die Änderungen wirksam werden zu lassen.

# systemctl restart sshd        [On SystemD]
OR
# service sshd restart          [On SysVinit]

Jetzt sehen wir, wie man Dateien mit Rsync mit einem nicht standardmäßigen Port synchronisiert.

Wie man mit einem nicht standardmäßigen SSH-Port synchronisiert

Führen Sie den folgenden Befehl aus dem Terminal aus, um Dateien/Ordner mit Rsync mit einem nicht standardmäßigen SSH-Port zu synchronisieren.

Syntax:
# rsync -arvz -e 'ssh -p <port-number>' --progress --delete user@remote-server:/path/to/remote/folder /path/to/local/folder

Für diesen Tutorial-Zweck werde ich zwei Systeme verwenden.

Details des Remote-Systems:

IP Address: 192.168.1.103
User name: tecmint
Sync folder: /backup1

Details des lokalen Systems:

Operating System: Ubuntu 14.04 Desktop
IP Address: 192.168.1.100
Sync folder: /home/sk/backup2

Lassen Sie uns die Inhalte des Ordners /backup1 des Remote-Servers mit dem Ordner /home/sk/backup2/ meines lokalen Systems synchronisieren.

$ sudo rsync -arvz -e 'ssh -p 1431' --progress --delete [email protected]:/backup1 /home/sk/backup2
Beispiel-Ausgabe
[email protected]'s password: 
receiving incremental file list
backup1/
backup1/linux-headers-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb
        752,876 100%   13.30MB/s    0:00:00 (xfr#1, to-chk=2/4)
backup1/linux-headers-4.3.0-040300_4.3.0-040300.201511020949_all.deb
      9,676,510 100%   12.50MB/s    0:00:00 (xfr#2, to-chk=1/4)
backup1/linux-image-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb
     56,563,302 100%   11.26MB/s    0:00:04 (xfr#3, to-chk=0/4)

sent 85 bytes  received 66,979,455 bytes  7,050,477.89 bytes/sec
total size is 66,992,688  speedup is 1.00.

Lassen Sie uns die Inhalte des Ordners /backup1/ auf dem Remote-Server überprüfen.

$ sudo ls -l /backup1/
Beispiel-Ausgabe
total 65428
-rw-r--r-- 1 root root  9676510 Dec  9 13:44 linux-headers-4.3.0-040300_4.3.0-040300.201511020949_all.deb
-rw-r--r-- 1 root root   752876 Dec  9 13:44 linux-headers-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb
-rw-r--r-- 1 root root 56563302 Dec  9 13:44 linux-image-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb

Lassen Sie uns nun die Inhalte des Ordners /backup2/ des lokalen Systems überprüfen.

$ ls /home/sk/backup2/
backup1

Wie Sie im obigen Output sehen, wurden die Inhalte von /backup1/ erfolgreich in das Verzeichnis /home/sk/backup2/ auf meinem lokalen System kopiert.

Überprüfen Sie den Inhalt des Ordners /backup1/:

$ ls /home/sk/backup2/backup1/
Beispiel Output
linux-headers-4.3.0-040300_4.3.0-040300.201511020949_all.deb            
linux-image-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb
linux-headers-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb

Sehen Sie, dass sowohl die Ordner des Remote- als auch des lokalen Systems dieselben Dateien enthalten.

Schlussfolgerung

Dateien/Ordner mit Rsync und SSH zu synchronisieren ist nicht nur einfach, sondern auch eine schnelle und sichere Methode. Wenn Sie hinter einer Firewall sind, die den Port 22 einschränkt, keine Sorge. Ändern Sie einfach den Standardport und synchronisieren Sie Dateien wie ein Profi.

Source:
https://www.tecmint.com/sync-files-using-rsync-with-non-standard-ssh-port/