Website-Suche

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.

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