題:
如何通過OSX上的IPv6 LLA(鏈接本地地址)地址通過ssh使用rsync?
Jorge
2017-11-12 02:56:29 UTC
view on stackexchange narkive permalink

我正在使用OSX High Sierra和bash。我正在嘗試使用基於IPv6 LLA的備份腳本(因此我總是可以訪問服務器,而沒有DHCP,名稱等)。

使用IPv4可以正常工作:

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

在Linux / Bash上,此方法有效:

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

但是在OSX終端上這沒用。

  ssh:無法解析主機名[fe80:提供的節點名或服務名,或者未知
rsync:連接意外關閉(到目前為止已收到0個字節)[發送方]
rsync錯誤:/BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-52/rsync/io.c(453)中的rsync協議數據流(代碼12)中的錯誤[sender = 2.6.9]
 

我嘗試了很多引號組合,但沒有成功。

謝謝!

ssh是否可以與IPv6一起使用?
是的,例如使用“ ssh user@fe80::a:b:c:d%en0”。因此,ssh工作正常。
您所使用的版本可能與之相關。rsync --version在每台計算機上怎麼說?
一 回答:
Jorge
2017-11-12 04:28:10 UTC
view on stackexchange narkive permalink

問題出在OSX版本的rsync。我不知道到底是什麼問題。它應該是rsync二進制/版本的某些功能。

OSX版本:

  / usr / bin / rsync --version
rsync版本2.6.9協議版本29
...
功能:64位文件,套接字對,硬鏈接,符號鏈接,批處理文件,
              就地,IPv6、64位系統inum,64位內部inum
 

從macports安裝版本:

  / opt / local / bin / rsync --version
rsync版本3.1.2協議版本31
...
能力:
    64位文件,64位inum,64位時間戳,64位long int,
    套接字對,硬鏈接,符號鏈接,IPv6,批處理文件,就地,
    附加,ACL,xattrs,iconv,symtimes,無預分配,文件標誌,
    HFS壓縮
 

儘管兩者都支持IPv6,但此2.6.9與OSX一起分發並未按預期工作。

在3.1.2中,我可以使用:

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

感謝您的幫助。

內置版本對我來說效果很好,因此我不認為是固定的macPorts版本。我看到兩個可能的問題:在macOS上,接口將是“ en0”,而不是“ eth0”。另外,“ []”是一個shell字符匹配通配符;它不太可能匹配任何內容,但以防萬一,您應該在其周圍加上引號(`rsync -e ssh / src / dir / *“ user @ [fe80 :: a:b:c:d%en0]:/ dst / dir“`)。
這個解決了我的問題。macport的更新版本對我有用。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...