7 votos

¿Cómo usar rsync vía ssh con direcciones IPv6 LLA (link local address) en OSX?

Estoy usando OSX High Sierra y bash. Estoy tratando de usar una copia de seguridad script basado en IPv6 LLA (por lo que siempre llegar al servidor, sin DHCP, nombres, etc).

Con IPv4 esto funciona:

rsync -e ssh /src/dir/* user@192.168.0.1:/dst/dir

En Linux/Bash esto funciona:

rsync -e ssh /src/dir/* user@[fe80::a:b:c:d%eth0]:/dst/dir

Pero en el terminal de OSX esto no funcionó.

ssh: Could not resolve hostname [fe80: nodename nor servname provided, or not known
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-52/rsync/io.c(453) [sender=2.6.9]

He probado muchas combinaciones de comillas pero sin éxito.

Gracias.

1 votos

¿Funciona ssh por sí solo con IPv6?

1 votos

Sí, utilizando por ejemplo "ssh user@fe80::a:b:c:d%en0". Entonces, ssh funciona bien.

0 votos

Puede ser relevante la versión que estés utilizando. ¿Qué hace rsync --version ¿en cada máquina?

10voto

Jorge Puntos 96

El problema era con la versión de OSX de rsync. No sé exactamente cuál es el problema. Debe ser algunas de las capacidades de rsync binario/versión.

Versión OSX:

/usr/bin/rsync --version
rsync  version 2.6.9  protocol version 29
...
Capabilities: 64-bit files, socketpairs, hard links, symlinks, batchfiles,
              inplace, IPv6, 64-bit system inums, 64-bit internal inums

Instalar una versión desde macports:

/opt/local/bin/rsync --version
rsync  version 3.1.2  protocol version 31
...
Capabilities:
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, xattrs, iconv, symtimes, no prealloc, file-flags,
    HFS-compression

Aunque ambos tienen el soporte de IPv6, este 2.6.9 distribuido con OSX no funciona como se esperaba.

Con la 3.1.2 puedo usar:

rsync -e ssh /src/dir/* user@[fe80::a:b:c:d%eth0]:/dst/dir

Gracias por ayudar.

0 votos

A mí me funciona bien con la versión incorporada, así que no estoy convencido de que sea la versión de macPorts la que lo haya solucionado. Veo dos posibles problemas: en MacOS, la interfaz será "en0", no "eth0". También, [ ] es un comodín de coincidencia de caracteres de la shell; es poco probable que coincida con algo, pero por si acaso deberías ponerlo entre comillas ( rsync -e ssh /src/dir/* "user@[fe80::a:b:c:d%en0]:/dst/dir" ).

0 votos

Este resolvió mi problema. La versión actualizada de macport me funcionó.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X