在 MacOS 上,rsync 对于 IPV6 地址失败,并显示“ssh:无法解析主机名”

在 MacOS 上,rsync 对于 IPV6 地址失败,并显示“ssh:无法解析主机名”

在 MacOS 10.14.6 上,使用远程 IPv6 地址通过 rsync 将文件复制到远程计算机失败。似乎 IPv6 地址未正确转发到 ssh,但我使用括号和转义 IP 的所有尝试都失败了。

$ rsync -6 /local/path/to/file.tar.gz remoteusername@[2001:x:x:x:x:x:x:x]:/path/to/remote/dir/
ssh: Could not resolve hostname [2001: 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.200.1/rsync/io.c(453) [sender=2.6.9]

表明 IPv6 的使用rsync -6 -e "ssh -6" [source] [target]也失败了。

答案1

问题是 MacOS 附带的 rsync 版本显然不能正确处理 IPv6 地址。

$ /usr/bin/rsync --version
rsync  version 2.6.9  protocol version 29

使用 MacProts rsync 解决了该问题,问题中所述的命令按预期工作

$ /opt/local/bin/rsync --version
rsync  version 3.1.3  protocol version 31

答案2

对于我来说,这个解决方法在 rsync 2.6.9 版本上有效。

core@4TssX2-A:~ $ rsync -av -e 'ssh -l root' ./bbb.txt '[IPV6]:/tmp' 正在构建文件列表...完成

发送 76 字节 接收 20 字节 192.00 字节/秒 总大小为 0 加速为 0.00

相关内容