Tiedostojen/hakemistojen synkronointi Rsyncin avulla ei-standardin SSH-portin kanssa


Tänään keskustelemme tiedostojen synkronoinnista rsyncin avulla ei-standardin SSH-portin kanssa. Saatat ihmetellä, miksi meidän on käytettävä ei-standardista SSH-porttia? Se johtuu turvallisuussyistä. Kaikki tietävät, että 22 on SSH-oletusportti.

Joten on pakollista vaihtaa SSH-oletusporttinumero johonkin muuhun, jota on erittäin vaikea arvata. Kuinka synkronoit tiedostosi/kansiosi tällaisissa tapauksissa etäpalvelimesi kanssa? Ei hätää, se ei ole niin vaikeaa. Täällä näemme kuinka synkronoidaan tiedostot ja kansiot rsyncin avulla ei-standardin SSH-portin kanssa.

Kuten ehkä tiedät, rsync, joka tunnetaan myös nimellä Etäsynkronointi, on nopea, monipuolinen ja tehokas työkalu, jolla voidaan kopioida ja synkronoida tiedostoja/hakemistoja paikallisista hakemistoihin. paikallista tai paikallista etäisäntälle. Katso lisätietoja rsyncistä man-sivuilta:

man rsync

Tai katso aiempi opas alla olevasta linkistä.

  1. Rsync: 10 käytännön esimerkkiä Rsync-komennosta Linuxissa

Vaihda SSH-portti ei-standardiportiksi

Kuten kaikki tiedämme, rsync käyttää oletusarvoisesti SSH-porttia 22 tiedostojen synkronointiin paikallisten ja etäisäntien välillä ja päinvastoin. Meidän pitäisi vaihtaa etäpalvelimemme SSH-portti turvallisuuden tiukentamiseksi.

Voit tehdä tämän avaamalla ja muokkaamalla SSH-määritystiedostoa /etc/ssh/sshd_config:

vi /etc/ssh/sshd_config 

Etsi seuraava rivi. Poista kommentti ja muuta valitsemaasi portin numeroa. Suosittelen valitsemaan minkä tahansa numeron, jota on erittäin vaikea arvata.

Varmista, että käytät yksilöllistä numeroa, jota nykyiset palvelut eivät käytä. Tarkista tästä netstat-artikkelista, mitkä palvelut toimivat missäkin TCP/UDP-porteissa.

Esimerkiksi tässä käytän porttinumeroa 1431.

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

Tallenna ja sulje tiedosto.

RPM-pohjaisissa järjestelmissä, kuten RHEL, CentOS ja Scientific Linux 7, sinun on sallittava uusi portti palomuurisi tai reitittimesi läpi.

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

RHEL/CentOS/Scientific Linux 6:ssa ja sitä uudemmissa versioissa sinun tulee myös päivittää selinuxin käyttöoikeudet salliaksesi portin.

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

Käynnistä lopuksi SSH-palvelu uudelleen, jotta muutokset tulevat voimaan.

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

Katsotaanpa nyt, kuinka tiedostot synkronoidaan rsyncin avulla ei-standardin portin kanssa.

Rsync epästandardin SSH-portin kanssa

Suorita seuraava komento päätteestä synkronoidaksesi tiedostot/kansiot Rsyncin avulla ei-standardin ssh-portin kanssa.

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

Tätä opetusohjelmaa varten käytän kahta järjestelmää.

Etäjärjestelmän tiedot:

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

Paikallisen järjestelmän tiedot:

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

Synkronoidaan etäpalvelimen /backup1-kansion sisältö paikallisen järjestelmäni kansioon /home/sk/backup2/.

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

Tarkastetaan etäpalvelimen kansion /backup1/ sisältö.

sudo ls -l /backup1/
Näytelähtö
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

Tarkastetaan nyt paikallisen järjestelmän kansion /backup2/ sisältö.

ls /home/sk/backup2/
Näytelähtö
backup1

Kuten yllä olevasta tulosteesta näet, tiedoston /backup1/ sisältö on onnistuneesti kopioitu paikallisen järjestelmäni hakemistoon /home/sk/backup2/.

Tarkista kansion /backup1/ sisältö:

ls /home/sk/backup2/backup1/
Näytelähtö
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

Katso, sekä etä- että paikallisjärjestelmän kansioissa on samat tiedostot.

Johtopäätös

Tiedostojen/kansioiden synkronointi Rsyncin avulla SSH:n kanssa ei ole vain helppoa, vaan myös nopea ja turvallinen tapa. Jos olet palomuurin takana, joka rajoittaa porttia 22, ei hätää. Vaihda vain oletusportti ja synkronoi tiedostot kuin ammattilainen.