So synchronisieren Sie Dateien/Verzeichnisse mit Rsync mit einem nicht standardmäßigen SSH-Port
Heute besprechen wir, wie man Dateien mit rsync mit einem nicht standardmäßigen SSH-Port synchronisiert. 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 Nummer Ihres SSH-Standardports 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, es ist nicht so schwierig. Hier erfahren Sie, wie Sie Dateien und Ordner mithilfe von 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, mit dem Sie Dateien/Verzeichnisse von lokal nach kopieren und synchronisieren können lokal oder lokal für Remote-Hosts. Weitere Informationen zu rsync finden Sie in den Manpages:
man rsync
Oder lesen Sie unseren vorherigen Leitfaden über den unten stehenden Link.
- Rsync: 10 praktische Beispiele für den Rsync-Befehl unter Linux
Ändern Sie den SSH-Port in einen nicht standardmäßigen Port
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. Entfernen Sie den Kommentar 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 nicht von bestehenden Diensten verwendet wird. Sehen Sie sich diesen Netstat-Artikel an, um zu erfahren, welche Dienste auf welchen TCP/UDP-Ports ausgeführt werden.
Hier verwende ich beispielsweise 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, damit die Änderungen wirksam werden.
systemctl restart sshd [On SystemD]
OR
service sshd restart [On SysVinit]
Sehen wir uns nun an, wie man Dateien mit rsync mit einem nicht standardmäßigen Port synchronisiert.
So führen Sie Rsync mit einem nicht standardmäßigen SSH-Port durch
Führen Sie den folgenden Befehl vom 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 dieses Tutorial 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
Beispielausgabe
[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/
Beispielausgabe
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/
Beispielausgabe
backup1
Wie Sie in der obigen Ausgabe sehen können, 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/
Beispielausgabe
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.
Abschluss
Das Synchronisieren von Dateien/Ordnern mithilfe von 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, ist das kein Grund zur Sorge. Ändern Sie einfach den Standardport und synchronisieren Sie Dateien wie ein Profi.