Kā sinhronizēt failus/direktorijus, izmantojot Rsync ar nestandarta SSH portu


Šodien mēs apspriedīsim par to, kā sinhronizēt failus, izmantojot rsync, ar nestandarta SSH portu. Jums varētu rasties jautājums, kāpēc mums jāizmanto nestandarta SSH ports? Tas notiek drošības apsvērumu dēļ. Visi zina, ka 22 ir SSH noklusējuma ports.

Tātad, obligāti ir jāmaina SSH noklusējuma porta numurs uz kaut ko citu, ko ir ļoti grūti uzminēt. Kā šādos gadījumos jūs sinhronizēsiet savus failus/mapes ar savu attālo serveri? Nav jāuztraucas, tas nav tik grūti. Šeit mēs redzēsim, kā sinhronizēt failus un mapes, izmantojot rsync ar nestandarta SSH portu.

Kā jūs, iespējams, zināt, rsync, kas pazīstams arī kā Attālā sinhronizācija, ir ātrs, daudzpusīgs un spēcīgs rīks, ko var izmantot, lai kopētu un sinhronizētu failus/direktorijus no vietējiem uz vietējiem vai no lokālajiem uz attālajiem resursdatoriem. Lai iegūtu sīkāku informāciju par rsync, skatiet rokasgrāmatas lapas:

# man rsync

Vai skatiet mūsu iepriekšējo ceļvedi no saites zemāk.

  1. Rsync: 10 praktiski Rsync komandas piemēri Linux

Mainiet SSH portu uz Nestandarta ports

Kā mēs visi zinām, pēc noklusējuma rsync izmanto noklusējuma SSH 22. portu, lai sinhronizētu failus vietējos ar attāliem saimniekiem un otrādi. Lai pastiprinātu drošību, mums jāmaina attālā servera SSH ports.

Lai to izdarītu, atveriet un rediģējiet SSH konfigurācijas/etc/ssh/sshd_config failu:

# vi /etc/ssh/sshd_config 

Atrodiet šādu rindu. Nekomentējiet un mainiet izvēlēto porta numuru. Es iesaku jums izvēlēties jebkuru skaitli, kuru ir ļoti grūti uzminēt.

Pārliecinieties, ka izmantojat unikālu numuru, kuru pašreizējie pakalpojumi neizmanto. Pārbaudiet šo netstat rakstu, lai uzzinātu, kuri pakalpojumi kuros TCP/UDP portos darbojas.

Piemēram, šeit es izmantoju porta numuru 1431.

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

Saglabājiet un aizveriet failu.

RPM balstītās sistēmās, piemēram, RHEL, CentOS un Scientific Linux 7, jums ir jāļauj jaunajam portam izmantot ugunsmūri vai maršrutētāju.

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

RHEL/CentOS/Scientific Linux 6 un jaunākās versijās jums arī jāatjaunina selinux atļaujas, lai atļautu portu.

# 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

Visbeidzot, restartējiet SSH pakalpojumu, lai izmaiņas stātos spēkā.

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

Tagad ļaujiet mums redzēt, kā sinhronizēt failus, izmantojot rsync, ar nestandarta portu.

Kā Rsync ar nestandarta SSH portu

Lai sinhronizētu failus/mapes, izmantojot Rsync ar nestandarta ssh portu, palaidiet šo termināļa komandu.

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

Šīs apmācības vajadzībām es izmantoju divas sistēmas.

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

Sinhronizēsim attālā servera mapes /backup1 saturu ar manas vietējās sistēmas mapi /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.

Pārbaudīsim attālā servera mapes /backup1/ saturu.

$ 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

Tagad pārbaudīsim vietējās sistēmas mapes /backup2/ saturu.

$ ls /home/sk/backup2/
backup1

Kā redzat iepriekš redzamajā izvadā, /backup1/ saturs ir veiksmīgi nokopēts manas vietējās sistēmas direktorijā /home/sk/backup2/.

Pārbaudiet mapes /backup1/ saturu:

$ 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

Skatiet, gan attālās, gan vietējās sistēmas mapēs ir vieni un tie paši faili.

Secinājums

Failu/mapju sinhronizēšana, izmantojot Rsync ar SSH, ir ne tikai vienkārša, bet arī ātra un droša metode. Ja atrodaties aiz ugunsmūra, kas ierobežo 22. portu, neuztraucieties. Vienkārši nomainiet noklusējuma portu un sinhronizējiet failus kā profesionāli.