Я пытаюсь настроить переадресацию портов для SSH, чтобы я мог подключиться к своему raspberry pi из другой сети.

У меня есть эти страницы в моем маршрутизаторе (DRG-A125G):

Работает только если я укажу Source port Any (что это значит?) и порт назначения 22. Если я установлю 22 или один на 12386, а другой на 22, я не смогу подключиться.

1 ответ1

1

Исходный порт - это порт, который клиент SSH связывает для подключения к серверу SSH, расположенному на малине на порту 22.

Клиентский порт необходим, потому что ответные пакеты (от SSH-сервера до SSH-клиента) должны иметь пункт назначения в сети (IP-адрес SSH-клиента и порт, который прослушивает клиентский процесс SSH).

Клиент обычно выбирает случайный свободный непривилегированный порт (> 1024) для каждого соединения, поэтому, если вы выберете определенный исходный порт, переадресация порта не будет работать (если только вашему SSH-клиенту ОЧЕНЬ не повезло выбрать этот конкретный порт).

Таким образом, чтобы достичь SSH-сервера, вы должны выбрать опцию "Любой порт" в качестве источника.

Обратите внимание, что выбор "любой порт" сам по себе не является угрозой безопасности, вместо этого вам следует подумать о том, чтобы сделать какое-то исправление безопасности, чтобы защитить себя от несанкционированного доступа, например:

  • Выберите хороший пароль или, что лучше, разрешите вход только через SSH-ключи
  • Ограничьте исходный IP-адрес определенным доверенным диапазоном (если это возможно)
  • Ограничьте максимальное количество неудачных попыток входа в систему с помощью что-то вроде fail2ban
  • Не выставляйте SSH напрямую, а через VPN-сервис, такой как OpenVPN

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .