在局域网中,如何将ssh连接到 ipv6 ubuntu?

・3 分钟阅读

问题:

我可以ping Ubuntu: ( /etc/hosts) 中列出了 c2h2ttt


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 




回答 1:

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





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




回答 2:

链路本地地址不应该用 SSH,它们是用于底层协议的引导程序。

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


回答 3:

要连接SSH IPv6,通常在计算机上需要有IPv6的连接,然后尝试使用


root@hostname[~]# ssh -6 2205:f200:40:401::9ab4:8b43



这个命令将首次询问SSH密钥, 然后键入 Y/Yes

注:2205:f200:40:401::9ab4:8b43 是你的IPv6地址, 这只是IPv6的例子,所以不要忘记替换你的IPv6地址。


讨论
Tony profile image