Несколько вещей приходят на ум.
Переадресация на вашем скриншоте выглядит хорошо. Вы можете попытаться установить его 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
Например 2001:a61::35:2
, если вам дали адрес IPv6, это может быть индикатором. Также, возможно, ваш C6300 покажет информацию об этом. (Я использую AVM Fritz! Box 7360, и он явно выдает «Fritz! Box использует туннель DS-Lite»).
Чтобы быть на 100% уверенным, позвоните своему провайдеру.
Редактировать:
В случае, если вы находитесь за туннелем DS-Lite, вам, тем не менее, приходят на ум следующие варианты подключения домой с удаленного компьютера:
- попросите вашего провайдера / интернет-провайдера переключить вашу линию на не-DS-Lite
- используйте,
autossh
чтобы ваш домашний компьютер подключался к другому хосту, например, на работе (предварительно спросите своего работодателя), вашему веб-серверу, вашему VPS. Настройте autossh
таким образом, чтобы он создавал обратный туннель, например ssh -R 10000:localhost:22 user@yourvps.com
. Затем вы можете ssh на yourvps.com и ssh оттуда домой через ssh -p 10000 user@localhost
.
Редактировать:
Netgear C6300 специфичный
Похоже, что в микропрограммах есть ошибки до или до версии микропрограммы 2.01.14, из-за которой открытые порты будут видны только в том случае, если в «Расширенные настройки»> «Настройка WAN» включена опция «Ответить на эхо-запрос на порт WAN в Интернете».