Como fazer o scp usar endereços ipv6?

26

Quando tento usar endereços scp sobre IPv6, recebo o seguinte:

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

Com scp tudo o que eu sempre recebo é

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

usando isso eu recebo um login na minha caixa sem problemas

ssh osis@::1
Osis
fonte

Respostas:

42

scprequer alguma sintaxe especial. O endereço IPv6 deve estar entre colchetes, que devem ser escapados. Portanto, no seu exemplo, seria assim:

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

Caso contrário, acredita-se que o primeiro dois pontos ':' seja o separador entre o arquivo e as partes do endereço que resultariam em

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

No seu exemplo com o ip, ::1ele é interpretado como se você quisesse ssh para o host ''(em branco).

Martin Owens -doctormo-
fonte
obrigado pela sua resposta, esta informação foi de algum modo faltando homem scp; man ssh
Osis
2
Considere o envio de uma página de manual atualizada e você poderá dizer: eu ajudei.
Martin Owens -doctormo-
2
Ao usar a -6 bandeira, você pode simplesmente digitar localhost em vez de :: 1 (que é o endereço IPv6 para localhost) para evitar os suportes e, portanto, qualquer necessidade de escapar alguma coisa no shell:scp -6 osis@localhost:/home/osis/test.file ./test.file
freddyb
1
Você não deve usar endereços IPv6, você deve usar nomes DNS.
Anders
0

O comando acima não funcionou para mim, o erro que recebi foi devido ao endereço da v6 que foi permitido tomar como caminho.

Não é necessário usar a barra invertida "\". Conforme o exemplo acima, o comando abaixo funcionará.

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