Kako sinhronizirati datoteke/imenike z uporabo Rsync z nestandardnimi vrati SSH


Danes bomo razpravljali o tem, kako sinhronizirati datoteke z uporabo rsync z nestandardnimi vrati SSH. Morda se sprašujete, zakaj moramo uporabljati nestandardna vrata SSH? To je zaradi varnostnih razlogov. Vsi vedo, da je 22 privzeta vrata SSH.

Torej, obvezno morate spremeniti svojo privzeto številko vrat SSH na nekaj drugega, kar je zelo težko uganiti. Kako boste v takih primerih sinhronizirali datoteke/mape z oddaljenim strežnikom? Brez skrbi, ni tako težko. Tu bomo videli, kako sinhronizirati datoteke in mape z uporabo rsync z nestandardnimi vrati SSH.

Kot morda že veste, je rsync, znan tudi kot oddaljena sinhronizacija, hitro, vsestransko in zmogljivo orodje, s katerim lahko kopirate in sinhronizirate datoteke/imenike z lokalnega na lokalnega ali lokalnega z oddaljenimi gostitelji. Za več podrobnosti o rsync preverite strani z navodili:

# man rsync

Ali pa si oglejte naš prejšnji vodnik po spodnji povezavi.

  1. Rsync: 10 praktičnih primerov ukaza Rsync v Linuxu

Spremenite vrata SSH v nestandardna vrata

Kot vsi vemo, rsync privzeto uporablja privzeta vrata SSH 22 za sinhronizacijo datotek prek lokalnega z oddaljenimi gostitelji in obratno. Za poostritev varnosti bi morali spremeniti vrata SSH oddaljenega strežnika.

Če želite to narediti, odprite in uredite konfiguracijsko datoteko SSH/etc/ssh/sshd_config:

# vi /etc/ssh/sshd_config 

Poiščite naslednjo vrstico. Odznačite in spremenite številko vrat po vaši izbiri. Priporočam vam, da izberete katero koli številko, ki jo je zelo težko uganiti.

Prepričajte se, da uporabljate enolično številko, ki je ne uporabljajo obstoječe storitve. Preverite ta članek o netstatu, če želite vedeti, katere storitve se izvajajo na katerih vratih TCP/UDP.

Tu na primer uporabljam številko vrat 1431.

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

Shranite in zaprite datoteko.

V sistemih, ki temeljijo na RPM, kot so RHEL, CentOS in Scientific Linux 7, morate omogočiti nova vrata skozi požarni zid ali usmerjevalnik.

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

Na RHEL/CentOS/Scientific Linux 6 in novejših posodobite tudi dovoljenja za selinux, da omogočite vrata.

# 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

Na koncu ponovno zaženite storitev SSH, da začne veljati spremembe.

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

Zdaj pa poglejmo, kako sinhronizirati datoteke z uporabo rsync z nestandardnimi vrati.

Kako sinhronizirati z nestandardnimi vrati SSH

Iz terminala zaženite naslednji ukaz za sinhronizacijo datotek/map z uporabo Rsync z nestandardnimi vrati ssh.

# rsync -arvz -e 'ssh -p <port-number>' --progress --delete [email :/path/to/remote/folder /path/to/local/folder

Za namen te vadnice bom uporabil dva sistema.

IP Address: 192.168.1.103
User name: tecmint
Sync folder: /backup1
Operating System: Ubuntu 14.04 Desktop
IP Address: 192.168.1.100
Sync folder: /home/sk/backup2

Sinhronizirajmo vsebino mape /backup1 oddaljenega strežnika z mapo mojega lokalnega sistema /home/sk/backup2/.

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

Preverimo vsebino mape /backup1/ na oddaljenem strežniku.

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

Zdaj pa preverimo vsebino mape /backup2/ lokalnega sistema.

$ ls /home/sk/backup2/
backup1

Kot vidite v zgornjem izhodu, je bila vsebina /backup1/ uspešno kopirana v imenik /home/sk/backup2/ mojega lokalnega sistema.

Preverite vsebino mape /backup1/:

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

Glejte, mape oddaljenega in lokalnega sistema imajo enake datoteke.

Zaključek

Sinhronizacija datotek/map z uporabo Rsync s SSH ni le enostavna, temveč tudi hitra in varna metoda. Če ste za požarnim zidom, ki omejuje vrata 22, brez skrbi. Samo spremenite privzeta vrata in sinhronizirajte datoteke kot profesionalec.