Zoeken op website

Bestanden/mappen synchroniseren met Rsync met een niet-standaard SSH-poort


Vandaag zullen we bespreken hoe je bestanden kunt 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 veiligheidsredenen. Iedereen weet dat 22 de standaard SSH-poort is.

Het is dus verplicht om uw standaard SSH-poortnummer te wijzigen in iets anders dat erg moeilijk te raden is. Hoe synchroniseert u in dergelijke gevallen uw bestanden/mappen met uw externe server? Geen zorgen, het is niet zo moeilijk. Hier zullen we zien hoe u bestanden en mappen kunt synchroniseren met rsync met een niet-standaard SSH-poort.

Zoals u wellicht weet, is rsync, ook bekend als Remote Sync, een snelle, veelzijdige en krachtige tool die gebruikt kan worden om bestanden/mappen te kopiëren en te synchroniseren van lokaal naar lokaal, of lokaal naar externe hosts. Voor meer details over rsync, bekijk de manpagina's:

man rsync

Of raadpleeg onze vorige gids via de onderstaande link.

  1. Rsync: 10 praktische voorbeelden van Rsync-opdracht in Linux

Wijzig de SSH-poort in Niet-standaardpoort

Zoals we allemaal weten, gebruikt rsync standaard SSH-poort 22 om bestanden via lokale naar externe hosts te synchroniseren en omgekeerd. We moeten de SSH-poort van onze externe server wijzigen om de beveiliging aan te scherpen.

Om dit te doen, opent en bewerkt u het SSH-configuratiebestand /etc/ssh/sshd_config:

vi /etc/ssh/sshd_config 

Zoek de volgende regel. Verwijder uw commentaar en wijzig het poortnummer van uw keuze. Ik raad u aan een getal te kiezen dat zeer moeilijk te raden is.

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

Hier gebruik ik bijvoorbeeld poortnummer 1431.

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

Sla het bestand op en sluit het.

In op RPM gebaseerde systemen zoals RHEL, CentOS en Scientific Linux 7 moet u de nieuwe poort door uw firewall of router toestaan.

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

Op RHEL/CentOS/Scientific Linux 6 en hoger zou je ook de selinux rechten moeten updaten om de port 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

Start ten slotte de SSH-service opnieuw op om de wijzigingen door te voeren.

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

Laten we nu eens kijken hoe we bestanden kunnen synchroniseren met rsync met een niet-standaard poort.

Rsync uitvoeren met een niet-standaard SSH-poort

Voer de volgende opdracht uit vanaf de terminal om bestanden/mappen te synchroniseren met Rsync met een niet-standaard ssh-poort.

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

Voor deze tutorial zal ik twee systemen gebruiken.

Systeemdetails op afstand:

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

Lokale systeemdetails:

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 op de externe server synchroniseren met de map /home/sk/backup2/ van mijn lokale systeem.

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

Laten we de inhoud van de map /backup1/ op 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/
Voorbeelduitvoer
backup1

Zoals je in de bovenstaande uitvoer ziet, is de inhoud van /backup1/ met succes gekopieerd naar de map /home/sk/backup2/ op 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

Kijk, zowel de externe als de lokale systeemmappen hebben dezelfde bestanden.

Conclusie

Het synchroniseren van bestanden/mappen met Rsync met SSH is niet alleen eenvoudig, maar ook snel en veilig. Als u zich achter een firewall bevindt die poort 22 beperkt, hoeft u zich geen zorgen te maken. Wijzig gewoon de standaardpoort en synchroniseer bestanden als een professional.