Oggi parleremo di come sincronizzare i file utilizzando rsync con una porta SSH non standard. Potresti chiederti perché dobbiamo usare una porta SSH non standard? È a causa di motivi di sicurezza. Tutti sanno che 22 è la porta predefinita di SSH.

Quindi, è obbligatorio cambiare il numero di porta predefinito di SSH in qualcosa di diverso e molto difficile da indovinare. In tali casi, come sincronizzerai i tuoi file/cartelle con il server remoto? Non preoccuparti, non è così difficile. Qui vedremo come sincronizzare file e cartelle utilizzando rsync con una porta SSH non standard.
Come probabilmente sai, rsync, noto anche come Remote Sync, è uno strumento veloce, versatile e potente che può essere utilizzato per copiare e sincronizzare file/cartelle da locale a locale, o da locale a host remoti. Per ulteriori dettagli su rsync, consulta le pagine man:
# man rsync
O consulta la nostra guida precedente dal link qui sotto.
Cambia la Porta SSH in una Porta Non Standard
Come tutti sappiamo, di default rsync utilizza la porta SSH predefinita 22 per sincronizzare i file da locale a host remoti e viceversa. Dovremmo cambiare la porta SSH del nostro server remoto per aumentare la sicurezza.
Per farlo, apri ed edita il file di configurazione SSH /etc/ssh/sshd_config:
# vi /etc/ssh/sshd_config
Trova la seguente riga. Rimuovi il commento e cambia il numero di porta a tua scelta. Ti consiglio di scegliere un numero molto difficile da indovinare.
Assicurati di utilizzare un numero univoco che non sia utilizzato da servizi esistenti. Controlla questo articolo netstat per sapere quali servizi sono in esecuzione su quali porte TCP/UDP.
Ad esempio, qui utilizzo il numero di porta 1431.
[...] Port 1431 [...]
Salva e chiudi il file.
Nelle distribuzioni basate su RPM come RHEL, CentOS e Scientific Linux 7, è necessario consentire la nuova porta attraverso il firewall o il router.
# firewall-cmd --add-port 1431/tcp # firewall-cmd --add-port 1431/tcp --permanent
Su RHEL/CentOS/Scientific Linux 6 e versioni successive, è anche necessario aggiornare i permessi selinux per consentire la porta.
# 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
Infine, riavviare il servizio SSH per rendere effettive le modifiche.
# systemctl restart sshd [On SystemD] OR # service sshd restart [On SysVinit]
Ora vediamo come sincronizzare file utilizzando rsync con una porta non standard.
Come sincronizzare con una porta SSH non standard
Eseguire il seguente comando dal terminale per sincronizzare file/cartelle utilizzando rsync con porta ssh non standard.
Sintassi:
# rsync -arvz -e 'ssh -p <port-number>' --progress --delete user@remote-server:/path/to/remote/folder /path/to/local/folder
Per lo scopo di questo tutorial, utilizzerò due sistemi.
Dettagli del sistema remoto:
IP Address: 192.168.1.103 User name: tecmint Sync folder: /backup1
Dettagli del sistema locale:
Operating System: Ubuntu 14.04 Desktop IP Address: 192.168.1.100 Sync folder: /home/sk/backup2
Sincronizziamo i contenuti della cartella /backup1
del server remoto con la cartella del mio sistema locale /home/sk/backup2/
.
$ sudo rsync -arvz -e 'ssh -p 1431' --progress --delete [email protected]:/backup1 /home/sk/backup2
Output di esempio
[email protected]'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.
Verifichiamo il contenuto della cartella /backup1/
nel server remoto.
$ sudo ls -l /backup1/
Output di esempio
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
Adesso, verifichiamo il contenuto della cartella /backup2/
del sistema locale.
$ ls /home/sk/backup2/
Output campione
backup1
Come si vede nell’output precedente, i contenuti di /backup1/
sono stati copiati con successo nella directory /home/sk/backup2/
del mio sistema locale.
Verifica i contenuti della cartella /backup1/
:
$ ls /home/sk/backup2/backup1/
Output campione
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
Vedi, entrambe le cartelle dei sistemi remoti e locali hanno gli stessi file.
Conclusioni
La sincronizzazione dei file/cartelle utilizzando Rsync con SSH non è solo facile, ma anche un metodo veloce e sicuro. Se sei dietro un firewall che limita la porta 22, non preoccuparti. Cambia semplicemente la porta predefinita e sincronizza i file come un professionista.
Source:
https://www.tecmint.com/sync-files-using-rsync-with-non-standard-ssh-port/