Як змусити scp використовувати ipv6 адреси?


26

Коли я намагаюся використовувати 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

Відповіді:


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 до хосту ''(blank).


дякую за вашу відповідь, ця інформація якось відсутня у man scp; man ssh
Osis

2
Подумайте надсилати оновлену сторінку чоловіка, то можете сказати: я допоміг.
Мартін Оуенс -доктормо-

2
Використовуючи прапор -6, ви можете просто ввести localhost замість :: 1 (що є IPv6 адресою для 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.