当前位置: 首页>>技术教程>>正文


如何SSH到局域网中的ipv6 ubuntu?

, , ,

问题描述

我可以通过以下命令ping我的Ubuntu盒:(其中c2h2ttt在/etc /hosts中列出)

c2h2@c2h2crawler:~/ttt$ ping6 -I eth1 c2h2ttt
PING c2h2ttt(c2h2ttt) from fe80::21b:21ff:fe22:e865 eth1: 56 data bytes
64 bytes from c2h2ttt: icmp_seq=1 ttl=64 time=10.3 ms
64 bytes from c2h2ttt: icmp_seq=2 ttl=64 time=2.06 ms
64 bytes from c2h2ttt: icmp_seq=3 ttl=64 time=1.33 ms

当我尝试ssh -6 c2h2ttt时,它显示:

c2h2@c2h2crawler:~/ttt$ ssh -6 c2h2ttt
ssh: connect to host c2h2ttt port 22: Invalid argument

正确的命令是什么?


在服务器端,/etc /ssh /sshd_config具有:

ListenAddress ::
ListenAddress 0.0.0.0

我能够通过端口22上的ipv4 SSH到c2h2ttt,而netstat -lnt | grep :22

root@c2h2think:~# netstat -lnt | grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN

使用ufw,它允许端口22上的任何入站流量

root@c2h2think:~# ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere

和iptables配置:

root@c2h2think:~# ip6tables -L -v -n
Chain INPUT (policy DROP 55 packets, 10758 bytes)
pkts bytes target     prot opt in     out     source               destination 
    0     0 ACCEPT     all      lo     *       ::/0                 ::/0        

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 
    0     0 ACCEPT     all      *      lo      ::/0                 ::/0  

最佳办法

尝试指定ssh客户端的接口。 ping6实用程序允许您指定接口,但是ssh没有为此设置的开关,您必须使用以下语法:

ssh -6 fe80::21b:21ff:fe22:e865%eth1

次佳办法

链接本地地址不应该用于SSH,它们用于低级协议引导程序。如果您的网络上没有ISP-provided前缀,请改用fd00 :: /8生成unique-local前缀:

http://en.wikipedia.org/wiki/Unique_local_address

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11540.html,未经允许,请勿转载。