Weboldal keresés

Fájlok/könyvtárak szinkronizálása Rsync használatával nem szabványos SSH-porttal


Ma arról fogunk beszélni, hogyan szinkronizálhatunk fájlokat rsync használatával nem szabványos SSH-porttal. Kíváncsi lehet, miért kell nem szabványos SSH-portot használnunk? Ez biztonsági okok miatt van. Mindenki tudja, hogy a 22 az alapértelmezett SSH-port.

Tehát kötelező megváltoztatni az alapértelmezett SSH portszámot valami másra, amit nagyon nehéz kitalálni. Ilyen esetekben hogyan szinkronizálja fájljait/mappáit a távoli szerverrel? Ne aggódj, ez nem olyan nehéz. Itt látni fogjuk, hogyan szinkronizálhatunk fájlokat és mappákat az rsync használatával nem szabványos SSH-porttal.

Mint azt bizonyára tudja, az rsync, más néven Távoli szinkronizálás, egy gyors, sokoldalú és hatékony eszköz, amellyel fájlok/könyvtárak másolhatók és szinkronizálhatók helyiről helyi, vagy helyi távoli gazdagépekhez. Az rsync-ről további részletekért tekintse meg a man oldalakat:

man rsync

Vagy tekintse meg korábbi útmutatónkat az alábbi linkről.

  1. Rsync: 10 gyakorlati példa az Rsync parancsra Linuxban

Módosítsa az SSH portot nem szabványos portra

Mint mindannyian tudjuk, az rsync alapértelmezés szerint a 22-es SSH-portot használja a fájlok helyi és távoli gazdagépek közötti szinkronizálásához, és fordítva. A biztonság szigorítása érdekében módosítanunk kell távoli szerverünk SSH-portját.

Ehhez nyissa meg és szerkessze az SSH konfigurációs /etc/ssh/sshd_config fájlt:

vi /etc/ssh/sshd_config 

Keresse meg a következő sort. Törölje a megjegyzéseket, és módosítsa a választott portszámot. Azt javaslom, hogy válasszon bármilyen számot, amelyet nagyon nehéz kitalálni.

Győződjön meg arról, hogy egyedi számot használ, amelyet a meglévő szolgáltatások nem használnak. Tekintse meg ezt a netstat cikket, hogy megtudja, mely szolgáltatások futnak melyik TCP/UDP-portokon.

Például itt az 1431-es portot használom.

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

Mentse és zárja be a fájlt.

Az olyan RPM-alapú rendszerekben, mint az RHEL, a CentOS és a Scientific Linux 7, engedélyeznie kell az új portot a tűzfalon vagy az útválasztón keresztül.

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

RHEL/CentOS/Scientific Linux 6 és újabb verziók esetén frissítenie kell a selinux engedélyeket is a port engedélyezéséhez.

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

Végül indítsa újra az SSH szolgáltatást a változtatások érvénybe léptetéséhez.

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

Most nézzük meg, hogyan szinkronizálhatunk fájlokat az rsync használatával nem szabványos porttal.

Rsync nem szabványos SSH-porttal

Futtassa a következő parancsot a terminálról a fájlok/mappák szinkronizálásához az Rsync használatával nem szabványos ssh-porttal.

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

Ebben az oktatóanyagban két rendszert fogok használni.

Távoli rendszer részletei:

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

Helyi rendszer részletei:

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

Szinkronizáljuk a távoli szerver /backup1 mappájának tartalmát a helyi rendszerem /home/sk/backup2/ mappájával.

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

Ellenőrizzük a /backup1/ mappa tartalmát a távoli szerveren.

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

Most nézzük meg a helyi rendszer /backup2/ mappájának tartalmát.

ls /home/sk/backup2/
Minta kimenet
backup1

Amint a fenti kimeneten látható, a /backup1/ tartalma sikeresen átmásolásra került a helyi rendszerem /home/sk/backup2/ könyvtárába.

Ellenőrizze a /backup1/ mappa tartalmát:

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

Lásd, mind a távoli, mind a helyi rendszer mappáiban ugyanazok a fájlok vannak.

Következtetés

A fájlok/mappák szinkronizálása az Rsync használatával SSH-val nem csak egyszerű, hanem gyors és biztonságos módszer is. Ha a 22-es portot korlátozó tűzfal mögött áll, ne aggódjon. Csak módosítsa az alapértelmezett portot, és szinkronizálja a fájlokat, mint egy profi.