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