Bagaimana cara membuat scp menggunakan alamat ipv6?

26

Ketika saya mencoba menggunakan alamat scp over IPv6 saya mendapatkan ini:

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

Dengan scp semua yang pernah saya dapatkan adalah

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

menggunakan ini saya mendapatkan login ke dalam kotak saya tanpa hambatan

ssh osis@::1
Osis
sumber

Jawaban:

42

scpmemerlukan beberapa sintaks khusus. Alamat IPv6 harus dilampirkan dalam tanda kurung, yang kemudian harus diloloskan. Jadi dalam contoh Anda akan terlihat seperti ini:

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

Kalau tidak, tanda titik dua pertama ':' dianggap sebagai pemisah antara file dan bagian alamat yang akan menghasilkan

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

Dalam contoh Anda dengan ip ::1itu ditafsirkan seolah-olah Anda ingin ssh ke host ''(kosong).

Martin Owens -doctormo-
sumber
terima kasih atas jawaban Anda, info ini entah bagaimana hilang dari man scp; man ssh
Osis
2
Pertimbangkan mengirimkan halaman manual yang diperbarui, maka Anda dapat mengatakan: Saya membantu.
Martin Owens -doctormo-
2
Saat menggunakan flag -6, Anda cukup mengetik localhost alih-alih :: 1 (yang merupakan Alamat IPv6 untuk localhost) untuk menghindari tanda kurung dan karenanya perlu melepaskan sesuatu di shell:scp -6 osis@localhost:/home/osis/test.file ./test.file
freddyb
1
Anda tidak seharusnya menggunakan alamat IPv6, Anda seharusnya menggunakan nama DNS.
Anders
0

Perintah di atas tidak berfungsi untuk saya, kesalahan yang saya dapatkan adalah karena alamat v6 diizinkan mengambil jalur.

Tidak perlu menggunakan garis miring "\". Sesuai contoh di atas perintah di bawah ini akan berfungsi.

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