今天想用 scp 將檔案傳輸到一台 IPv6 位址的機器上,出現了問題。

但用 ssh 試著連上去看看,是可以成功的,所以 IPv6 網路並沒有問題:

ssh root@2620:101:4002:771::100

 

但是用 scp 對同樣的 IPv6 位址就會說 Invalid argument:

testuser@localhost ~ $ scp myfile root@2620:101:4002:771::100:/tmp/

ssh: connect to host 2620 port 22: Invalid argument
lost connection

 

查了一下,原來是 scp 在處理 IPv6 位址時,要像在瀏覽器裡使用 IPv6 位址一樣,

用 [ipv6 address] 的語法,而在 shell 裡還要用反斜線 \ 來對  [] 做跳脫 (escape),

因此正確的指令要像下面這樣:

scp myfile root@\[2620:101:4002:771::100\]:/tmp/

 

這樣子就沒問題囉~

 

參考資料:How to make scp to use ipv6 addresses?

 

文章標籤
創作者介紹

亂打一通的心情日記

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()