So synchronisieren Sie Dateien/Verzeichnisse mit Rsync mit einem nicht standardmäßigen SSH-Port
Heute werden wir darüber sprechen, wie Sie Dateien mit rsync mit einem nicht standardmäßigen SSH-Port synchronisieren können. Sie fragen sich vielleicht, warum wir einen nicht standardmäßigen SSH-Port verwenden müssen? Dies geschieht aus Sicherheitsgründen. Jeder weiß, dass 22 der SSH-Standardport ist.
Daher ist es zwingend erforderlich, die Standard-Portnummer Ihres SSH in eine andere zu ändern, die sehr schwer zu erraten ist. Wie synchronisieren Sie in solchen Fällen Ihre Dateien/Ordner mit Ihrem Remote-Server? Keine Sorge, so schwer ist es nicht. Hier sehen wir, wie Sie Dateien und Ordner mit rsync mit einem nicht standardmäßigen SSH-Port synchronisieren.
Wie Sie vielleicht wissen, ist rsync, auch bekannt als Remote Sync, ein schnelles, vielseitiges und leistungsstarkes Tool, das zum Kopieren und Synchronisieren von Dateien/Verzeichnissen von lokalen nach lokalen oder lokalen zu Remote-Hosts verwendet werden kann. Weitere Informationen zu rsync finden Sie in den Manpages:
# man rsync
Oder beziehen Sie sich auf unseren vorherigen Leitfaden über den untenstehenden Link.
- rsync: 10 praktische Beispiele für den Befehl rsync unter Linux
SSH-Port in Nicht-Standard-Port ändern
Wie wir alle wissen, verwendet rsync standardmäßig den Standard-SSH-Port 22, um Dateien über lokale mit Remote-Hosts zu synchronisieren und umgekehrt. Wir sollten den SSH-Port unseres Remote-Servers ändern, um die Sicherheit zu erhöhen.
Öffnen und bearbeiten Sie dazu die SSH-Konfigurationsdatei /etc/ssh/sshd_config:
# vi /etc/ssh/sshd_config
Suchen Sie die folgende Zeile. Heben Sie die Auskommentierung auf und ändern Sie die Portnummer Ihrer Wahl. Ich empfehle Ihnen, eine beliebige Zahl zu wählen, die sehr schwer zu erraten ist.
Stellen Sie sicher, dass Sie eine eindeutige Nummer verwenden, die von vorhandenen Diensten nicht verwendet wird. In diesem netstat-Artikel erfahren Sie, welche Dienste auf welchen TCP/UDP-Ports ausgeführt werden.
Hier verwende ich zum Beispiel 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
Unter RHEL/CentOS/Scientific Linux 6 und höher sollten Sie auch die selinux-Berechtigungen 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 abschließend den SSH-Dienst neu, um die Änderungen zu übernehmen.
# systemctl restart sshd [On SystemD]
OR
service sshd restart [On SysVinit]
Sehen wir uns nun an, wie Sie Dateien mit rsync mit einem nicht standardmäßigen Port synchronisieren.
So synchronisieren Sie mit einem nicht standardmäßigen SSH-Port
Führen Sie den folgenden Befehl über das 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 die Zwecke dieses Tutorials werde ich zwei Systeme verwenden.
Details zum Remote-System:
IP Address: 192.168.1.103
User name: tecmint
Sync folder: /backup1
Details zum lokalen System:
Operating System: Ubuntu 14.04 Desktop
IP Address: 192.168.1.100
Sync folder: /home/sk/backup2
Lassen Sie uns den Inhalt 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 :/backup1 /home/sk/backup2
Beispiel-Ausgabe
[email '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 den Inhalt 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 den Inhalt des Ordners /backup2/ des lokalen Systems überprüfen.
$ ls /home/sk/backup2/
Beispiel-Ausgabe
backup1
Wie Sie in der obigen Ausgabe sehen, wurde der Inhalt von /backup1/ erfolgreich in das Verzeichnis /home/sk/backup2/ meines lokalen Systems kopiert.
Überprüfen Sie den Inhalt des Ordners /backup1/:
$ ls /home/sk/backup2/backup1/
Beispiel-Ausgabe
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
Beachten Sie, dass sowohl die Ordner des Remote-Systems als auch die des lokalen Systems dieselben Dateien enthalten.
Schlussfolgerung
Das Synchronisieren von Dateien/Ordnern mit Rsync mit SSH ist nicht nur eine einfache, sondern auch eine schnelle und sichere Methode. Wenn Sie sich hinter einer Firewall befinden, die Port 22 einschränkt, machen Sie sich keine Sorgen. Ändern Sie einfach den Standardport und synchronisieren Sie Dateien wie ein Profi.
