Kako sinhronizirati datoteke/direktorije koristeći Rsync sa nestandardnim SSH portom


Danas ćemo razgovarati o tome kako sinhronizirati datoteke koristeći rsync sa nestandardnim SSH portom. Možda se pitate zašto trebamo koristiti nestandardni SSH port? To je iz sigurnosnih razloga. Svi znaju da je 22 SSH zadani port.

Dakle, obavezno je promijeniti vaš SSH zadani broj porta u nešto drugačiji što je vrlo teško pogoditi. U takvim slučajevima, kako ćete sinkronizirati svoje datoteke/fascikle sa vašim udaljenim serverom? Bez brige, nije tako teško. Ovdje ćemo vidjeti kako sinkronizirati datoteke i mape koristeći rsync sa nestandardnim SSH portom.

Kao što možda znate, rsync, također poznat kao Daljinska sinhronizacija, je brz, svestran i moćan alat koji se može koristiti za kopiranje i sinhronizaciju datoteka/direktorija s lokalnog na lokalne ili lokalne na udaljene hostove. Za više detalja o rsync, provjerite man stranice:

man rsync

Ili pogledajte naš prethodni vodič na linku ispod.

  1. Rsync: 10 praktičnih primjera Rsync naredbe u Linuxu

Promijenite SSH port na Nestandardni port

Kao što svi znamo, rsync podrazumevano koristi podrazumevani SSH port 22 za sinhronizaciju datoteka preko lokalnih sa udaljenim hostovima i obrnuto. Trebali bismo promijeniti SSH port našeg udaljenog servera da pooštrimo sigurnost.

Da biste to učinili, otvorite i uredite SSH konfiguracijski fajl /etc/ssh/sshd_config:

vi /etc/ssh/sshd_config 

Pronađite sljedeći red. Dekomentirajte i promijenite broj porta po svom izboru. Preporučujem vam da odaberete bilo koji broj koji je vrlo teško pogoditi.

Uvjerite se da koristite jedinstveni broj koji ne koriste postojeće usluge. Provjerite ovaj netstat članak da biste saznali koje usluge se pokreću na kojim TCP/UDP portovima.

Na primjer, ovdje koristim broj porta 1431.

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

Sačuvajte i zatvorite datoteku.

U sistemima baziranim na RPM-u kao što su RHEL, CentOS i Scientific Linux 7, morate dozvoliti novi port preko vašeg zaštitnog zida ili rutera.

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

Na RHEL/CentOS/Scientific Linux 6 i novijim verzijama, također biste trebali ažurirati selinux dozvole da omogućite port.

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

Konačno, ponovo pokrenite SSH uslugu da bi promjene stupile na snagu.

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

Sada da vidimo kako da sinhronizujemo datoteke koristeći rsync sa nestandardnim portom.

Kako Rsync sa nestandardnim SSH portom

Pokrenite sljedeću naredbu s terminala da biste sinhronizirali datoteke/mape koristeći Rsync sa nestandardnim ssh portom.

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

Za potrebe ovog tutorijala, koristiću dva sistema.

Detalji o daljinskom sistemu:

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

Detalji o lokalnom sistemu:

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

Hajde da sinhronizujemo sadržaj /backup1 foldera udaljenog servera sa folderom mog lokalnog sistema /home/sk/backup2/.

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

Provjerimo sadržaj foldera /backup1/ na udaljenom serveru.

sudo ls -l /backup1/
Sample Output
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

Sada, hajde da provjerimo sadržaj /backup2/ foldera lokalnog sistema.

ls /home/sk/backup2/
Sample Output
backup1

Kao što vidite u gornjem izlazu, sadržaj /backup1/ je uspješno kopiran u /home/sk/backup2/ direktorij mog lokalnog sistema.

Provjerite sadržaj foldera /backup1/:

ls /home/sk/backup2/backup1/
Sample Output
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

Vidite, i udaljeni i lokalni sistemski folderi imaju iste datoteke.

Zaključak

Sinhronizacija datoteka/foldera pomoću Rsync sa SSH nije samo laka, već i brza i sigurna metoda. Ako ste iza zaštitnog zida koji ograničava port 22, bez brige. Samo promijenite zadani port i sinhronizirajte datoteke kao profesionalac.