Si trabajamos a menudo con rsync para copiar archivos entre ordenadores, estaremos acostumbrados a una sintaxis parecida a esta:
$ rsync -avh origen usuario@servidor:destino
En realidad, para transmitir los archivos estaremos utilizando una conexión segura a través de ssh. Pero claro, en ocasiones, sería necesario utilizar algún argumento especial para ssh. En este ejemplo, imaginemos que queremos conectar al servidor por un puerto diferente del 22.
Podemos hacerlo así:
$ rsync -avh -e ‘ssh -p1234’ origen usuario@servidor:destino
y si accedemos por par de claves pública-privada, en el caso de que queramos especificar un archivo de clave privada específico para esta conexión (a mí me ha sucedido que he necesitado utilizar rsync como root para poder acceder a algunos archivos y las claves las tenía en el usuario actual), lo podemos hacer así:
$ rsync -avh -e ‘ssh -i archivo_identidad’ origen usuario@servidor:destino
Ahora, un ejemplo completo y concreto de todo, en el que queremos acceder a nuestro servidor SSH por el puerto 28, además, el archivo de identidad o clave privada es id_rsa_webserver dentro del directorio .ssh de nuestro usuario (muy útil si ejecutamos rsync como root) luego el origen serían todos los archivos que encontramos en www/ y los copiaremos en un directorio remoto de nuestro servidor (tenemos que tener permiso para escribir ahí)
$ rsync -avh -e ‘ssh -p28 -i /home/gaspar/.ssh/id_rsa_webserver’ www/* gaspar@miservidorweb.com:/home/web/externo/htdocs/
Configuración local de ssh
Otra posibilidad sería crear un archivo de configuración de ssh en nuestro ordenador, en el que podamos especificar los hosts a los que conectamos, el usuario que queremos utilizar, el archivo de identidad y el puerto.
El archivo será /home/usuario/.ssh/config donde usuario sería nuestro nombre de usuario. Y su contenido sería algo como esto:
Host miservidorweb.com
IdentityFile ~/.ssh/id_rsa_webserver
User gaspar
Port 28
No tienen que estar todas estas líneas, y si buscamos información, podemos configurar más cosas. En ese archivo podemos también, poner tantos Host xxxx como queramos.
Foto: Andrew Pons (Unsplash)
Pingback: Cómo especificar puerto y clave privada para SSH desde rsync | PlanetaLibre /
Pingback: ¿Cómo cambié mi WordPress de dominio? Minimizando el tiempo de corte y el impacto SEO – Poesía Binaria /
Your blog provided us with valuable information. I am looking forward to read more blog posts from here keep it up!
Spider Punk Black Vest