Hoe bestanden/mappen te synchroniseren met Rsync met niet-standaard SSH-poort

Vandaag zullen we bespreken hoe bestanden te synchroniseren met rsync met een niet-standaard SSH-poort. Je vraagt je misschien af waarom we een niet-standaard SSH-poort moeten gebruiken? Het is vanwege beveiligingsredenen. Iedereen weet dat 22 de standaard SSH-poort is.

Rsync Files Over SSH Non-standard Port

Dus, het is verplicht om het standaard SSH-poortnummer te veranderen naar iets anders dat moeilijk te raden is. In zulke gevallen, hoe synchroniseer je dan je bestanden/mappen met je externe server? Geen zorgen, het is niet zo moeilijk. Hier zullen we zien hoe bestanden en mappen te synchroniseren met rsync met een niet-standaard SSH-poort.

Zoals je wellicht weet, rsync, ook bekend als Remote Sync, is een snel, veelzijdig en krachtig hulpmiddel dat gebruikt kan worden om bestanden/mappen te kopiëren en synchroniseren van lokaal naar lokaal, of lokaal naar externe hosts. Voor meer details over rsync, bekijk de man-pagina’s:

# man rsync

Of raadpleeg onze vorige gids via de onderstaande link.

  1. Rsync: 10 Praktijkvoorbeelden van Rsync-commando in Linux

Verander SSH-poort naar Niet-standaard Poort

Zoals we allemaal weten, gebruikt rsync standaard de SSH-poort 22 om bestanden te synchroniseren van lokaal naar externe hosts en vice versa. We moeten de SSH-poort van onze externe server veranderen om de beveiliging te versterken.

Om dit te doen, open en bewerk het SSH-configuratiebestand /etc/ssh/sshd_config:

# vi /etc/ssh/sshd_config 

Zoek de volgende regel. Maak de regel actief en verander het poortnummer naar een nummer naar keuze. Ik raad je aan om een nummer te kiezen dat moeilijk te raden is.

Zorg ervoor dat je een uniek nummer gebruikt dat niet wordt gebruikt door bestaande services. Bekijk dit netstat-artikel om te weten welke services op welke TCP/UDP-poorten worden uitgevoerd.

Bijvoorbeeld, hier gebruik ik poortnummer 1431.

[...]
Port 1431
[...]

Sla het bestand op en sluit het.

Op op RPM-gebaseerde systemen zoals RHEL, CentOS en Scientific Linux 7, moet je de nieuwe poort toestaan via je firewall of router.

# firewall-cmd --add-port 1431/tcp
# firewall-cmd --add-port 1431/tcp --permanent

Op RHEL/CentOS/Scientific Linux 6 en hoger moet je ook de selinux rechten bijwerken om de poort toe te staan.

# 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

Herstart tot slot de SSH-service om de wijzigingen door te voeren.

# systemctl restart sshd        [On SystemD]
OR
# service sshd restart          [On SysVinit]

Laten we nu eens bekijken hoe je bestanden synchroniseert met rsync met een niet-standaard poort.

Hoe Rsync met niet-standaard SSH-poort

Voer het volgende commando uit vanuit de terminal om bestanden/mappen te synchroniseren met Rsync met een niet-standaard SSH-poort.

Syntax:
# rsync -arvz -e 'ssh -p <port-number>' --progress --delete user@remote-server:/path/to/remote/folder /path/to/local/folder

Voor het doel van deze zelfstudie zal ik twee systemen gebruiken.

Details van het externe systeem:

IP Address: 192.168.1.103
User name: tecmint
Sync folder: /backup1

Details van het lokale systeem:

Operating System: Ubuntu 14.04 Desktop
IP Address: 192.168.1.100
Sync folder: /home/sk/backup2

Laten we de inhoud van de map /backup1 van de externe server synchroniseren met de map /home/sk/backup2/ van mijn lokale systeem.

$ sudo rsync -arvz -e 'ssh -p 1431' --progress --delete [email protected]:/backup1 /home/sk/backup2
Voorbeelduitvoer
[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.

Laten we de inhoud van de map /backup1/ van de externe server controleren.

$ sudo ls -l /backup1/
Voorbeelduitvoer
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

Laten we nu de inhoud van de map /backup2/ van het lokale systeem controleren.

$ ls /home/sk/backup2/
backup1

Zoals je ziet in de bovenstaande output, zijn de inhoud van /backup1/ succesvol gekopieerd naar de map /home/sk/backup2/ van mijn lokale systeem.

Controleer de inhoud van de map /backup1/:

$ ls /home/sk/backup2/backup1/
Voorbeelduitvoer
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

Zie, zowel de mappen van het externe systeem als het lokale systeem hebben dezelfde bestanden.

Conclusie

Bestanden/mappen synchroniseren met Rsync via SSH is niet alleen eenvoudig, maar ook een snelle en veilige methode. Als je achter een firewall zit die poort 22 beperkt, geen zorgen. Verander gewoon de standaardpoort en synchroniseer bestanden als een professional.

Source:
https://www.tecmint.com/sync-files-using-rsync-with-non-standard-ssh-port/