Как заставить scp использовать ipv6-адреса?

Когда я пытаюсь использовать scp через адреса IPv6, я получаю это:

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

2 ответа

Решение

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 к хосту '' (Пробел).

Вышеприведенная команда не работает для меня, ошибка, которую я получил, была вызвана тем, что адрес v6 был разрешен для пути.

Не нужно использовать обратную косую черту "\" . В соответствии с приведенным выше примером команда будет работать.

scp -6 osis@[2001:db8:0:1]:/home/osis/test.file ./test.file
Другие вопросы по тегам