使用 IPv6 进行 SSH 连接的问题

使用 IPv6 进行 SSH 连接的问题

我无法理解如何使用 IPv6 协议通过 SSH 连接到其他计算机。我尝试仅使用提供的地址,ifconfig但似乎不起作用,我一直收到错误:

ssh: Could not resolve hostname xxxx::xxxx:xxxx:xxxx:xxxx/xx: Name or service not known

我读到过一些文章说我可能需要定义我想要使用哪个接口,但我不确定。

答案1

您收到的错误消息是因为您在/64地址后面添加了 。它是用于确定哪些 IP 地址位于直接连接到该接口的网段中的前缀长度。它不是 IP 地址的一部分,不应传递给 之类的命令ssh

如果您删除/64,您将不再收到该错误消息。

kasperd@alpha:~$ ssh 2001:db8::1/64
ssh: Could not resolve hostname 2001:db8::1/64: Name or service not known
kasperd@alpha:~$ ssh 2001:db8::1
kasperd@beta:~$ 

仅当地址是链路本地地址时才需要指定要使用的接口。

kasperd@alpha:~$ ssh fe80::200:5eff:fe00:53cf/64
ssh: Could not resolve hostname fe80::200:5eff:fe00:53cf/64: Name or service not known
kasperd@alpha:~$ ssh fe80::200:5eff:fe00:53cf
ssh: connect to host fe80::200:5eff:fe00:53cf port 22: Invalid argument
kasperd@alpha:~$ ssh fe80::200:5eff:fe00:53cf%eth0
kasperd@beta:~$ 

答案2

你好,使用这个命令行:

ssh -6 [login_other_comp]@fe80....%[interface_lan_name]

没有括号 [ ]。

相关内容