Kaip sinchronizuoti failus/katalogus naudojant Rsync su nestandartiniu SSH prievadu


Šiandien mes kalbėsime apie tai, kaip sinchronizuoti failus naudojant rsync su nestandartiniu SSH prievadu. Jums gali kilti klausimas, kodėl mums reikia naudoti nestandartinį SSH prievadą? Taip yra dėl saugumo priežasčių. Visi žino, kad 22 yra numatytasis SSH prievadas.

Taigi, privaloma pakeisti numatytąjį SSH prievado numerį į kitą, o tai labai sunku atspėti. Kaip tokiais atvejais sinchronizuosite failus/aplankus su nuotoliniu serveriu? Nesijaudinkite, tai nėra taip sunku. Čia pamatysime, kaip sinchronizuoti failus ir aplankus naudojant rsync su nestandartiniu SSH prievadu.

Kaip tikriausiai žinote, rsync, dar žinomas kaip nuotolinis sinchronizavimas, yra greitas, universalus ir galingas įrankis, kurį galima naudoti failams/katalogams kopijuoti ir sinchronizuoti iš vietinio į vietinis arba vietinis nuotoliniam kompiuteriui. Norėdami gauti daugiau informacijos apie rsync, žr. vadovo puslapius:

man rsync

Arba peržiūrėkite mūsų ankstesnį vadovą iš toliau pateiktos nuorodos.

  1. „Rsync“: 10 praktinių „Rsync“ komandos pavyzdžių sistemoje „Linux“.

Pakeiskite SSH prievadą į nestandartinį prievadą

Kaip visi žinome, pagal numatytuosius nustatymus rsync naudoja numatytąjį SSH prievadą 22, kad sinchronizuotų failus per vietinius ir nuotolinius pagrindinius kompiuterius ir atvirkščiai. Turėtume pakeisti savo nuotolinio serverio SSH prievadą, kad sustiprintume saugumą.

Norėdami tai padaryti, atidarykite ir redaguokite SSH konfigūracijos failą /etc/ssh/sshd_config:

vi /etc/ssh/sshd_config 

Raskite šią eilutę. Panaikinkite komentarą ir pakeiskite pasirinkto prievado numerį. Rekomenduoju pasirinkti bet kurį skaičių, kurį labai sunku atspėti.

Įsitikinkite, kad naudojate unikalų numerį, kurio nenaudoja esamos paslaugos. Peržiūrėkite šį „netstat“ straipsnį, kad sužinotumėte, kurios paslaugos veikia naudojant TCP/UDP prievadus.

Pavyzdžiui, čia aš naudoju prievado numerį 1431.

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

Išsaugokite ir uždarykite failą.

RPM pagrįstose sistemose, pvz., RHEL, CentOS ir Scientific Linux 7, turite leisti naują prievadą per užkardą arba maršruto parinktuvą.

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

RHEL/CentOS/Scientific Linux 6 ir naujesnėse versijose taip pat turėtumėte atnaujinti selinux leidimus, kad leistumėte prievadą.

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

Galiausiai iš naujo paleiskite SSH paslaugą, kad pakeitimai įsigaliotų.

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

Dabar pažiūrėkime, kaip sinchronizuoti failus naudojant rsync su nestandartiniu prievadu.

Kaip atlikti Rsync naudojant nestandartinį SSH prievadą

Vykdykite šią komandą iš terminalo, kad sinchronizuotumėte failus/aplankus naudodami Rsync su nestandartiniu ssh prievadu.

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

Šios pamokos tikslais naudosiu dvi sistemas.

Išsami informacija apie nuotolinę sistemą:

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

Išsami vietinės sistemos informacija:

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

Sinchronizuokime nuotolinio serverio aplanko /backup1 turinį su mano vietinės sistemos aplanku /home/sk/backup2/.

sudo rsync -arvz -e 'ssh -p 1431' --progress --delete [email :/backup1 /home/sk/backup2
Pavyzdžio išvestis
[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.

Patikrinkime /backup1/ aplanko turinį nuotoliniame serveryje.

sudo ls -l /backup1/
Pavyzdžio išvestis
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

Dabar patikrinkime vietinės sistemos aplanko /backup2/ turinį.

ls /home/sk/backup2/
Pavyzdžio išvestis
backup1

Kaip matote anksčiau pateiktoje išvestyje, /backup1/ turinys sėkmingai nukopijuotas į mano vietinės sistemos /home/sk/backup2/ katalogą.

Patikrinkite aplanko /backup1/ turinį:

ls /home/sk/backup2/backup1/
Pavyzdžio išvestis
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

Žiūrėkite, tiek nuotolinio, tiek vietinės sistemos aplankuose yra tie patys failai.

Išvada

Failų/aplankų sinchronizavimas naudojant Rsync su SSH yra ne tik lengvas, bet ir greitas bei saugus būdas. Jei esate už ugniasienės, kuri riboja 22 prievadą, nesijaudinkite. Tiesiog pakeiskite numatytąjį prievadą ir sinchronizuokite failus kaip profesionalas.