Hvordan synkronisere filer/kataloger ved hjelp av Rsync med ikke-standard SSH-port
I dag skal vi diskutere hvordan du synkroniserer filer ved hjelp av rsync med ikke-standard SSH-port. Du lurer kanskje på hvorfor vi trenger å bruke ikke-standard SSH-port? Det er på grunn av sikkerhetsmessige årsaker. Alle vet at 22 er SSH-standardporten.
Så det er obligatorisk å endre SSH-standardportnummeret til noe annet som er veldig vanskelig å gjette. I slike tilfeller, hvordan vil du synkronisere filene/mappene dine med den eksterne serveren? Ingen grunn til bekymring, det er ikke så vanskelig. Her vil vi se hvordan du synkroniserer filer og mapper ved hjelp av rsync med ikke-standard SSH-port.
Som du kanskje vet, er rsync, også kjent som Remote Sync, et raskt, allsidig og kraftig verktøy som kan brukes til å kopiere og synkronisere filer/kataloger fra lokal til lokale, eller lokale til eksterne verter. For mer informasjon om rsync, sjekk man-sider:
man rsync
Eller se vår forrige guide fra lenken nedenfor.
- Rsync: 10 praktiske eksempler på Rsync-kommandoer i Linux
Endre SSH-port til ikke-standard port
Som vi alle vet, bruker rsync standard SSH-port 22 for å synkronisere filer over lokale til eksterne verter og omvendt. Vi bør endre den eksterne serverens SSH-port for å stramme sikkerheten.
For å gjøre dette, åpne og rediger SSH-konfigurasjonsfilen /etc/ssh/sshd_config:
vi /etc/ssh/sshd_config
Finn følgende linje. Fjern kommentarer og endre portnummeret du ønsker. Jeg anbefaler deg å velge et hvilket som helst tall som er veldig vanskelig å gjette.
Sørg for at du bruker et unikt nummer som ikke brukes av eksisterende tjenester. Sjekk denne netstat-artikkelen for å finne ut hvilke tjenester som kjører på hvilke TCP/UDP-porter.
For eksempel, her bruker jeg portnummer 1431.
[...]
Port 1431
[...]
Lagre og lukk filen.
I RPM-baserte systemer som RHEL, CentOS og Scientific Linux 7, må du tillate den nye porten gjennom brannmuren eller ruteren.
firewall-cmd --add-port 1431/tcp
firewall-cmd --add-port 1431/tcp --permanent
På RHEL/CentOS/Scientific Linux 6 og nyere bør du også oppdatere selinux-tillatelser for å tillate porten.
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
Til slutt, start SSH-tjenesten på nytt for å tre i kraft endringene.
systemctl restart sshd [On SystemD]
OR
service sshd restart [On SysVinit]
La oss nå se hvordan du synkroniserer filer ved hjelp av rsync med ikke-standard port.
Hvordan synkronisere med ikke-standard SSH-port
Kjør følgende kommando fra terminalen for å synkronisere filer/mapper ved å bruke Rsync med ikke-standard ssh-port.
Syntaks:
rsync -arvz -e 'ssh -p <port-number>' --progress --delete user@remote-server:/path/to/remote/folder /path/to/local/folder
For formålet med denne opplæringen vil jeg bruke to systemer.
Eksternt systemdetaljer:
IP Address: 192.168.1.103
User name: tecmint
Sync folder: /backup1
Lokale systemdetaljer:
Operating System: Ubuntu 14.04 Desktop
IP Address: 192.168.1.100
Sync folder: /home/sk/backup2
La oss synkronisere innholdet i den eksterne serverens /backup1
-mappe til mitt lokale systems mappe /home/sk/backup2/
.
sudo rsync -arvz -e 'ssh -p 1431' --progress --delete [email :/backup1 /home/sk/backup2
Eksempelutgang
[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.
La oss sjekke innholdet i mappen /backup1/
på den eksterne serveren.
sudo ls -l /backup1/
Eksempelutgang
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
La oss nå sjekke innholdet i mappen /backup2/
i det lokale systemet.
ls /home/sk/backup2/
Eksempelutgang
backup1
Som du ser i utdataene ovenfor, har innholdet i /backup1/
blitt kopiert til mitt lokale systems /home/sk/backup2/
-katalog.
Bekreft innholdet i /backup1/
mappen:
ls /home/sk/backup2/backup1/
Eksempelutgang
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
Se, både eksterne og lokale systemmapper har samme filer.
Konklusjon
Synkronisering av filer/mapper ved hjelp av Rsync med SSH er ikke bare enkel, men også rask og sikker metode. Hvis du er bak en brannmur som begrenser port 22, ingen bekymringer. Bare endre standardporten og synkroniser filer som en proff.