¿Necesita -e ssh para rsync?


22

Siempre solía utilizar el siguiente comando cuando se copia desde un servidor: rsync --progress -avze ssh user@host:/path/to/files ./here. Sin embargo, un amigo mental me mostró que simplemente puedo hacer rsync --progress -avz user@host:/path/to/files ./here. Entonces la pregunta es, si no necesita, -e ssh¿por qué está allí de todos modos?

Respuestas:


20

Cada vez que necesite opciones adicionales para el comando ssh fuera del usuario y el host, necesitará el indicador -e. Quizás el servidor al que se está conectando tiene escucha ssh en el puerto 2222.

rsync -e 'ssh -p 2222' /source usr@host:/dest

Una alternativa para evitar esto, hay 2 archivos que puede usar. /etc/ssh/ssh_configo~/.ssh/config

El archivo de configuración usa el mismo formato que ssh_config. ¡Solo se puede configurar por usuario!


9

También necesitaría -esi utiliza una ubicación de clave privada no predeterminada, es decir, especifique la clave privada mediante -e 'ssh -i /path/to/private/key/file.pem'. Para el caso, puertos de escucha no predeterminados para sshd, también. Básicamente, use -esi solo usar ssh user@hostno funciona.


¿Es -iuna opción para ssh o rsync en su ejemplo? Y si es para ssh, ¿funciona sin las comillas simples alrededor del comando?
Izkata

Oh, claro, necesito las citas. Editando mi respuesta ahora.
cjc

8

No necesita -e ssh para usar ssh. De hecho, si especifica el destino como usuario @ host: / ruta / a / archivos, está usando ssh de forma predeterminada. Se deja en a) por razones de compatibilidad yb) casos marginales en los que podría tener una combinación de hosts rsyncd y ssh.


2
Se requiere en RHEL 3, por ejemplo, ya que RSYNC_RSH tiene el valor predeterminado 'rsh'.
Kyle Smith

5

Depende de lo que se especificó para la --with-rshopción de configuración en tiempo de compilación. El valor predeterminado ahora es ssh si no se especificó esta opción. Había sido rsh en algún momento en el pasado, sin embargo, incluso si es rsh, podría no ser necesario ya que ssh podría ser la implementación rsh predeterminada en muchos cuadros. En todas mis máquinas, por ejemplo, readlink -f $(which rsh)muestra que rsh es realmente solo un enlace simbólico que apunta a / usr / sbin / ssh

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.