Cómo sincronizar archivos/directorios utilizando RSYNC con un puerto SSH no estándar

Cómo sincronizar archivos/directorios utilizando RSYNC con un puerto SSH no estándar

Hoy, discutiremos sobre cómo sincronizar archivos usando RSYNC con un puerto SSH no estándar. Quizás se pregunte por qué necesitamos usar el puerto SSH no estándar? Es por razones de seguridad. Todo el mundo sabe 22 es el puerto predeterminado SSH.

Archivos RSYNC a través del puerto no estándar SSH

Por lo tanto, es obligatorio cambiar su número de puerto predeterminado SSH a algo diferente que es muy difícil de adivinar. En tales casos, ¿cómo sincronizará sus archivos/carpetas con su servidor remoto?? No se preocupe, no es tan difícil. Aquí veremos cómo sincronizar archivos y carpetas usando RSYNC con un puerto SSH no estándar.

Como ustedes sabrán, rsync, también conocido como Sincronización remota, es una herramienta rápida, versátil y potente que se puede usar para copiar y sincronizar archivos/directorios de locales a locales, o locales a hosts remotos. Para obtener más detalles sobre RSYNC, consulte las páginas del hombre:

# hombre rsync 

O consulte nuestra guía anterior desde el siguiente enlace.

  1. RSYNC: 10 ejemplos prácticos de comando RSYNC en Linux

Cambiar el puerto SSH al puerto no estándar

Como todos sabemos, por defecto, RSYNC usa el puerto SSH predeterminado 22 Para sincronizar archivos a través de hosts locales a remotos y viceversa. Deberíamos cambiar el puerto SSH de nuestro servidor remoto para apretar la seguridad.

Para hacer esto, abra y edite la configuración de SSH /etc/ssh/sshd_config archivo:

# vi/etc/ssh/sshd_config 

Encuentra la siguiente línea. Descomposición y cambiar el número de puerto de su elección. Te recomiendo que elijas cualquier número que sea muy difícil de adivinar.

Asegúrese de estar utilizando un número único que no es utilizado por los servicios existentes. Consulte este artículo de NetStat para saber qué servicios se ejecutan en qué puertos TCP/UDP.

Por ejemplo, aquí uso el número de puerto 1431.

[…] Puerto 1431 […] 

Guarde y cierre el archivo.

En sistemas basados ​​en rpm como Rhel, Cento, y Científico Linux 7, Debe permitir el nuevo puerto a través de su firewall o enrutador.

# firewall-cmd --add-puerto 1431/tcp # firewall-cmd --add-puert 1431/tcp --permanent 

En Rhel/Centos/Scientific Linux 6 y superior, también debe actualizar selinux permisos para permitir el puerto.

# IPTables -A Rh -FireWall -1 -Input -M State - -State New -M TCP -P TCP --DPORT 1431 -J Aceptar # Semanage Port -A -T SSH_PORT_T -P TCP 1431 

Finalmente, reinicie el servicio SSH para entrar en efecto los cambios.

# SystemCTL reiniciar SSHD [ON System] O # servicio sshd reiniciar [en Sysvinit] 

Ahora veamos cómo sincronizar archivos usando RSYNC con un puerto no estándar.

Cómo RSYNC con puerto SSH no estándar

Ejecute el siguiente comando desde el terminal a sincronizar archivos/carpetas usando RSYNC con un puerto SSH no estándar.

Sintaxis:
# rsync -arvz -e 'ssh -p '--progress --delete [correo electrónico protegido]:/path/to/remoto/carper/path/to/local/carpeta 

Para el propósito de este tutorial, utilizaré dos sistemas.

Detalles del sistema remoto:

Dirección IP: 192.168.1.103 Nombre de usuario: carpeta de sincronización de tecmint: /backup1 

Detalles del sistema local:

Sistema operativo: Ubuntu 14.04 Dirección IP de escritorio: 192.168.1.100 carpeta de sincronización:/home/sk/backup2 

Sinconamos el contenido de los servidores remotos /copia de seguridad1 carpeta a la carpeta de mi sistema local /home/sk/backup2/.

$ sudo rsync -arvz -e 'ssh -p 1431' --progress --delete [correo electrónico protegido]:/backup1/home/sk/backup2 
Salida de muestra
[Correo electrónico protegió la contraseña: recibir la lista de archivos incremental 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) Copia de seguridad1/Linux-Headers-4.3.0-040300_4.3.0-040300.201511020949_ todos.DEB 9,676,510 100% 12.50mb/s 0:00:00 (XFR#2, TO-Chk = 1/4) Copia de seguridad1/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) Enviado 85 bytes recibidos 66,979,455 bytes 7,050,477.El tamaño total de 89 bytes/seg es 66,992,688 la aceleración es 1.00. 

Vamos a ver el contenido de /Backup1/ carpeta en el servidor remoto.

$ sudo ls -l /backup1 / 
Salida de muestra
Total 65428 -rw-R-r-- 1 raíz de raíz 9676510 dic 9 13:44 Linux-Headers-4.3.0-040300_4.3.0-040300.201511020949_ todos.deb -rw-r-r-- 1 raíz raíz 752876 9 de diciembre 13:44 Linux-Headers-4.3.0-040300-Generic_4.3.0-040300.201511020949_amd64.deb -rw-r-r-- 1 raíz root 56563302 dic 9 13:44 Linux-Image-4.3.0-040300-Generic_4.3.0-040300.201511020949_amd64.debutante 

Ahora, revisemos el contenido de /Backup2/ carpeta del sistema local.

$ ls/home/sk/backup2/ 
Salida de muestra
copia de seguridad1 

Como verá en la salida anterior, el contenido de /Backup1/ han sido copiados con éxito a mi sistema local /home/sk/backup2/ directorio.

Verificar /Backup1/ Contenido de la carpeta:

$ ls/home/sk/backup2/backup1/ 
Salida de muestra
Linux-Headers-4.3.0-040300_4.3.0-040300.201511020949_ todos.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.debutante 

Ver, las carpetas del sistema remoto y local tienen los mismos archivos.

Conclusión

La sincronización de archivos/carpetas con RSYNC con SSH no solo es fácil, sino también un método rápido y seguro. Si estás detrás de un firewall que restringe el puerto 22, no te preocupes. Simplemente cambie el puerto predeterminado y los archivos de sincronización como un Pro.