
Я уверен, что на этот вопрос уже был дан ответ, но я не уверен, что искать. (Я пробую что-то вроде «telnet ubuntu ssh daemon unable to connect».)
- Я могу войти по SSH
10.0.0.9
- Я могу
telnet 10.0.0.9 22
sudo service ssh status
включен/etc/hosts
и/etc/hostname
матч.gufw
выключен.netstat -nat | grep 22
показывает,0.0.0:*
естьLISTEN
и:::*
естьLISTEN
.- Я считаю, что порт на маршрутизаторе открыт правильно.
Так какое недостающее звено мне нужно проверить, что я мог сделать неправильно? Почему я не могу ssh
в 65.x.x.x
, когда я могу ssh
в 10.x.x.x
?
Я буду очень признателен любому, кто может предоставить ссылку на существующий ответ или более подходящие условия поиска.
- пример вывода
tcpdump -n -i ${interface} tcp port ssh or tcpdump -n -i ${interface} host ${external_client_ip_addr}
:
19:20:43.747445 IP 116.10.191.232.24689 > 10.0.0.9.22: Flags [.], ack 1, win 65535, length 0 19:20:43.747562 IP 116.10.191.232.24689 > 10.0.0.9.22: Flags [P.], seq 1:24, ack 1, win 65535, length 23 19:20:43.747575 IP 10.0.0.9.22 > 116.10.191.232.24689: Flags [.], ack 24, win 14600, length 0 19:20:43.759613 IP 10.0.0.9.22 > 116.10.191.232.24689: Flags [P.], seq 1:42, ack 24, win 14600, length 41 19:20:44.504741 IP 116.10.191.232.24689 > 10.0.0.9.22: Flags [P.], seq 24:832, ack 42, win 65494, length 808 19:20:44.504800 IP 10.0.0.9.22 > 116.10.191.232.24689: Flags [P.], seq 42:1026, ack 832, win 16968, length 984
- пример вывода :
ssh -vvv [email protected]
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to 67.x.x.x [67.x.x.x] port 22. debug1: connect to address 67.x.x.x port 22: No route to host ssh: connect to host 67.x.x.x port 22: No route to host
решение1
На снимке экрана, который вы разместили, показан "конечный порт" 23. Возможно, что это перенаправляет диапазон портов, но также возможно, что начальный и конечный порты относятся к "внешнему порту" и "внутреннему порту" соответственно, в этом случае у вас проблема. Попробуйте изменить "конечный порт" на 22. Также проверьте ваш /etc/hosts.{allow,deny}
.
решение2
Мне кажется, что ваш провайдер блокирует порт 22, возможно, из-за Heartbleed, скорее всего, чтобы отпугнуть поставщиков бесплатных оболочек unix. Я бы посоветовал сопоставить его с другим внешним портом, посмотреть, изменится ли ситуация.