![使用 IPv6 进行 SSH 连接的问题](https://linux22.com/image/901145/%E4%BD%BF%E7%94%A8%20IPv6%20%E8%BF%9B%E8%A1%8C%20SSH%20%E8%BF%9E%E6%8E%A5%E7%9A%84%E9%97%AE%E9%A2%98.png)
我无法理解如何使用 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]
没有括号 [ ]。