问题描述
我可以通过以下命令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