Jak synchronizovat soubory/adresáře pomocí Rsync s nestandardním portem SSH
Dnes budeme diskutovat o tom, jak synchronizovat soubory pomocí rsync s nestandardním portem SSH. Možná se divíte, proč potřebujeme používat nestandardní port SSH? Je to z bezpečnostních důvodů. Každý ví, že 22 je výchozí port SSH.
Je tedy povinné změnit výchozí číslo portu SSH na něco jiného, což je velmi těžké uhodnout. Jak v takových případech synchronizujete soubory/složky se vzdáleným serverem? Žádný strach, není to tak těžké. Zde uvidíme, jak synchronizovat soubory a složky pomocí rsync s nestandardním portem SSH.
Jak možná víte, rsync, také známý jako Vzdálená synchronizace, je rychlý, všestranný a výkonný nástroj, který lze použít ke kopírování a synchronizaci souborů/adresářů z místního do místní nebo místní ke vzdáleným hostitelům. Další podrobnosti o rsync naleznete na manuálových stránkách:
man rsync
Nebo se podívejte na naši předchozí příručku z odkazu níže.
- Rsync: 10 praktických příkladů příkazu Rsync v Linuxu
Změňte port SSH na nestandardní port
Jak všichni víme, rsync ve výchozím nastavení používá výchozí port SSH 22 k synchronizaci souborů přes místní a vzdálené hostitele a naopak. Měli bychom změnit port SSH našeho vzdáleného serveru, abychom zpřísnili zabezpečení.
Chcete-li to provést, otevřete a upravte konfigurační soubor SSH /etc/ssh/sshd_config:
vi /etc/ssh/sshd_config
Najděte následující řádek. Odkomentujte a změňte číslo portu podle svého výběru. Doporučuji vám vybrat libovolné číslo, které je velmi těžké uhodnout.
Ujistěte se, že používáte jedinečné číslo, které stávající služby nepoužívají. V tomto článku netstat zjistíte, které služby běží na kterých portech TCP/UDP.
Například zde používám číslo portu 1431.
[...]
Port 1431
[...]
Uložte a zavřete soubor.
V systémech založených na RPM, jako jsou RHEL, CentOS a Scientific Linux 7, musíte povolit nový port přes bránu firewall nebo směrovač.
firewall-cmd --add-port 1431/tcp
firewall-cmd --add-port 1431/tcp --permanent
V systému RHEL/CentOS/Scientific Linux 6 a vyšším byste také měli aktualizovat oprávnění selinux, abyste povolili port.
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
Nakonec restartujte službu SSH, aby se změny projevily.
systemctl restart sshd [On SystemD]
OR
service sshd restart [On SysVinit]
Nyní se podívejme, jak synchronizovat soubory pomocí rsync s nestandardním portem.
Jak Rsync s nestandardním portem SSH
Spusťte následující příkaz z terminálu pro synchronizaci souborů/složek pomocí Rsync s nestandardním portem ssh.
Syntaxe:
rsync -arvz -e 'ssh -p <port-number>' --progress --delete user@remote-server:/path/to/remote/folder /path/to/local/folder
Pro účely tohoto tutoriálu budu používat dva systémy.
Podrobnosti o vzdáleném systému:
IP Address: 192.168.1.103
User name: tecmint
Sync folder: /backup1
Podrobnosti o místním systému:
Operating System: Ubuntu 14.04 Desktop
IP Address: 192.168.1.100
Sync folder: /home/sk/backup2
Synchronizujeme obsah složky /backup1
vzdáleného serveru do složky mého místního systému /home/sk/backup2/
.
sudo rsync -arvz -e 'ssh -p 1431' --progress --delete [email :/backup1 /home/sk/backup2
Ukázkový výstup
[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.
Zkontrolujeme obsah složky /backup1/
na vzdáleném serveru.
sudo ls -l /backup1/
Ukázkový výstup
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
Nyní se podívejme na obsah složky /backup2/
místního systému.
ls /home/sk/backup2/
Ukázkový výstup
backup1
Jak vidíte ve výše uvedeném výstupu, obsah /backup1/
byl úspěšně zkopírován do adresáře /home/sk/backup2/
mého místního systému.
Ověřte obsah složky /backup1/
:
ls /home/sk/backup2/backup1/
Ukázkový výstup
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
Podívejte se, složky vzdáleného i místního systému mají stejné soubory.
Závěr
Synchronizace souborů/složek pomocí Rsync s SSH je nejen snadná, ale také rychlá a bezpečná metoda. Pokud jste za firewallem, který omezuje port 22, žádný strach. Stačí změnit výchozí port a synchronizovat soubory jako profesionál.