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.

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.
Ä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/