
У меня, наверное, самый простой вопрос по ssh/переадресации портов, который только можно себе представить. Я искал здесь и в других местах, но мне так и не удалось заставить это работать. Я много лет пользовался сетями и ssh, но никогда не настраивал их раньше, так что не хватает некоторых базовых знаний.
В любом случае, то, что я хочу сделать, просто. У меня дома есть WLAN с модемом/маршрутизатором Netcomm. Я думаю, что я настроил переадресацию порта 22 для определенной машины, которая у меня работает дома (т. е. указал адрес 192.168.1.X для этой машины). Я сделал это через графический интерфейс модема.
Теперь я хочу иметь возможность подключаться к этой машине по SSH из любой точки мира за пределами моей домашней WLAN (т. е. удаленно).
Я могу успешно пинговать свой фиксированный IP-адрес, но попытка ssh просто не удаётся подключиться. На всякий случай машина работает под управлением Ubuntu. Извините, что задаю такой простой вопрос.
решение1
Вам нужно будет зайти в панель конфигурации вашего модема/маршрутизатора, а затем перенаправить порт SSH на IP-адрес машины, на которой запущен SSHD.
В Netgear он включен. Firewal Rules
Вам нужно добавить Inbound Service
для этого 192.168.1.X
порт 22
для обслуживания.ssh
решение2
Вам необходимо проверить, не запрещает ли ваш интернет-провайдер создание подключений (некоторые из них в Бразилии запрещают вашему фиксированному IP-адресу прослушивать порты с более низкими значениями (< 1024)).
Другой вариант — иметь машину в Интернете, которая будет работать как прокси для вашей домашней машины — на домашней машине вам нужно запустить ssh с -R
этой прокси-машиной и включить GatewayPorts
на удаленном компьютере, чтобы вы могли перенаправить порт на интерфейсе, а не на локальном хосте. Например, если вы запустите на своей машине Ubuntu:
ssh -N -f -R 0.0.0.0:2222:localhost:22 user@remote-machine
Все соединения в 2222
портуremote-machine
перенаправлены через туннель на вашу машину Ubuntu (даже если эта машина находится внутри NAT и без переадресации портов на модеме).