Website-Suche

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.

  1. 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.

Verwandte Artikel: