Ahora estoy usando rsync con -e 'ssh -p 10022'
opción para especificar el puerto.
Ya he establecido ssh ~/.ssh/config
.
Host myvps
HostName example.com
User ironsand
Port 10022
¿Puedo usar esta configuración desde rsync fácilmente? ¿O puedo crear ~/.rsync
y establecer un puerto predeterminado para especificar el servidor?
Esto no funcionó para mí. Tengo un hosting de salto en mi ~ / .ssh / config
ssh: no se pudo resolver el nombre de host vm-app01 : nombre de servidor ni nombre de servidor proporcionados, o no se conoce rsync: conexión inesperadamente cerrada (0 bytes recibidos hasta ahora) [remitente] error rsync: error inexplicado (código 255) en / SourceCache / rsync / rsync- 42 / rsync / io.c (452) [remitente = 2.6.9]
Sin embargo, esto funciona bien
Editar, pude superar la resolución de nombre forzando a rsync ssh a cargar un archivo de configuración con -F sudo rsync -az -e "ssh -F /Users/kbroughton/.ssh/config"
Esto supera un error pero pasa a otro. Permiso denegado (publickey, gssapi-keyex, gssapi-with-mic). ssh_exchange_identification: conexión cerrada por host remoto
También intenté establecer explícitamente -i y usuario @ en la conexión pero se produce el mismo error.
EDITAR
Otro punto de datos. Si uso la ip flotante del pivot vm (jump host) en lugar de su nombre, vm-pivot rsync funciona. Pero explícitamente volcar todo mi ssh / config en el -e "ssh" no funciona. Detalles: mac local, actualizado a rsync 3.1.0, centos remotos rsync 3.0.9.
Esto funciona
fuente
@darKoram. Para los casos en los que invoque ssh con una ruta no estándar e intente usar ssh en ProxyCommand, eso es un problema porque no hay herencia. Tiene dos opciones: proporcionar directamente el mismo archivo en el comando interno o piratearlo dinámicamente. Puede ver una descripción detallada en mi blog acerca de eso: http://hubbitus.info/wiki/Blog:Ssh_forwarding_with_same_config_file_hack
En breve en su situación debería ayudar la configuración como:
fuente
@darKoram. Ejecute el proceso SSH con sudo:
sudo / usr / local / bin / rsync -az -e "sudo -u user ssh" /var/data/sources/data.tar.gz vm-app01: / home / user
fuente
@darKoram
¿Cuál es el nombre DNS completo de "vm-app01"? Debe ser público, ya que usted afirma que puede acceder a él dentro de ssh sin rsync. Pero, espera que ssh atrape a su host a través del patrón "21ct-dev1- *". Realmente no puedo ver cómo esto podría funcionar de ninguna manera. Si intenta modelar nombres de host, debería verse así:
Entonces la llamada de rsync debería verse así:
¿Cómo se resuelve "vm-app01"? Archivo de hosts, victorias, nis, nss? ¿Tienes un alias? ¿Estás dentro de un dominio? Ciertamente parece un problema de DNS "simple".
fuente