scpでipv6アドレスを使用する方法は?


26

IPv6アドレスでscpを使用しようとすると、次のようになります。

scp -6 osis@::1:/home/osis/test.file ./test.file
ssh: Could not resolve hostname : Name or service not known

scpで私が手に入れるのは

ssh: Could not resolve hostname : Name or service not known

これを使用して、私は問題なく私のボックスにログインします

ssh osis@::1

回答:


42

scp特別な構文が必要です。IPv6アドレスは角かっこで囲む必要があり、角かっこはエスケープする必要があります。したがって、例では次のようになります。

scp -6 osis@\[2001:db8:0:1\]:/home/osis/test.file ./test.file

それ以外の場合、最初のコロン「:」は、ファイルとアドレス部分の間の区切り文字と見なされ、結果として

ssh: Could not resolve hostname 2001: Address family for hostname not supported

ipを使用した例では::1、ホストにsshする''(空白)ように解釈されます。


あなたの答えをありがとう、この情報はなんとなくman scp; man sshから欠落していた
オシス

2
更新されたマニュアルページを提出することを検討してください、そしてあなたは言うことができます:私は助けました。
マーティンオーウェンズ-doctormo-

2
-6フラグを使用する場合は、あなただけのブラケットを回避するためにシェルに何か脱出するため、任意の必要性(localhostのIPv6アドレスである)の代わりに:: 1 localhostを入力することができますscp -6 osis@localhost:/home/osis/test.file ./test.file
freddyb

1
IPv6アドレスを使用することは想定されていません。DNS名を使用することになっています。
アンデルス

0

上記のコマンドは私にとってはうまくいきませんでした。私が得たエラーは、v6アドレスがパスを取ることを許可されていたためです。

バックスラッシュ「\」を使用する必要はありません。上記の例に従って、以下のコマンドが機能します。

scp -6 osis@[2001:db8:0:1]:/home/osis/test.file ./test.file
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.