Несколько вещей приходят мне на ум.
Переадресация на вашем скриншоте выглядит хорошо. Вы можете попробовать установить его на TCP
вместо TCP/UDP
, потому что ssh - это протокол TCP.
DynDNS
Вы уверены, что используете правильное динамически обновляемое имя хоста или правильный публичный IP-адрес? Чтобы найти ваш общедоступный IP-адрес, откройте консоль на Raspberry или SSH (внутри) и используйте curl icanhazip.com
.
sshd_config
Убедитесь, что в /etc/ssh/sshd_config
sshd прослушивает правильный интерфейс, если у вас их несколько. Закомментируйте строку ListenAddress a.b.c.d
с помощью #
и перезапустите службу (/etc/init.d/sshd restart
или systemctl restart sshd
, в зависимости от вашего дистрибутива).
Изменить: извините, вы уже сказали это.
Редактировать:
маршрутизация
Если вы не можете получить информацию от curl icanhazip.com
, скорее всего, ваша Raspberry не знает, как попасть в Интернет. Поэтому он не может ответить на вашу попытку подключения извне. Добавьте маршрут, например, с помощью ip route add default via <your modem's IP address>
и повторите попытку.
Iptables
Убедитесь, что ваш внутренний брандмауэр Raspberry разрешает SSH с внешних адресов. iptables -S
предоставит вам список правил. Искать строки как
-A INPUT -s 192.168.0.0/24 -p tcp -m tcp --dport 22 -j ACCEPT
# SSH only allowed from the internal network, if iptables policy INPUT is DROP
В этом случае разрешите весь входящий трафик с помощью iptables -P INPUT ACCEPT
или iptables -I INPUT -p tcp --dport 22 -j ACCEPT
.
DS-Lite (Двойной стек Lite)
Внутри вашей домашней сети вы используете IPv4-адреса. В вашем примере 192.168.0.x. Однако ваш интернет-провайдер может использовать IPv6 в своей сети. Маршрутизатор преобразует ваши адреса IPv4 в IPv6. Обычно это приводит к невозможности подключения к домашней сети с удаленного компьютера.
Если curl icanhazip.com
дал вам IPv6-адрес, например, 2001:a61::35:2
, это может быть индикатором. Также, возможно, ваш C6300 покажет информацию об этом. (Я использую AVM Fritz!Коробка 7360, и она явно выводит «Фриц!Коробка использует туннель DS-Lite »).
Чтобы быть на 100% уверенным, позвоните своему провайдеру.
Редактировать:
В случае, если вы находитесь за туннелем DS-Lite, вам, тем не менее, приходят на ум следующие варианты подключения домой с удаленного компьютера:
- попросите вашего провайдера / интернет-провайдера переключить вашу линию на не-DS-Lite
- используйте
autossh
чтобы ваш домашний компьютер подключался к другому хосту, например, на работе ( предварительно спросите своего работодателя), вашему веб-серверу, вашему VPS. Настройте autossh
таким образом, чтобы он создавал обратный туннель, например ssh -R 10000:localhost:22 user@yourvps.com
. Затем вы можете зайти по ssh на yourvps.com и обратно через ssh -p 10000 user@localhost
.
Редактировать:
Netgear C6300 специфичный
Похоже, что в микропрограммах есть ошибки до или до версии микропрограммы 2.01.14, из-за которой открытые порты будут видны только в том случае, если в "Расширенные настройки"> "Настройка WAN" включена опция «Отвечать на эхо-запрос на порт WAN в Интернете».