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.

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