Какие порты мне нужно держать открытыми для доступа к моему SSH-серверу с портом не по умолчанию

Я не использую порт 22 для моего SSH, но что-то выше 47000
Я установил UFW (несложный брандмауэр) и разблокировал "SSH" и "HTTP"

Когда я смотрю на текущий статус UFW, он говорит, что порт 22 и порт 80 разрешены отовсюду. Я настраиваю эту вещь через SSH

Мое соединение SSH не было прервано этим. Даже если я не использую порт 22 для моего SSH. Не я тоже открыл специальный порт для 47000+. Теперь у меня открыты оба порта на IPv4 и IPv6

Нужно ли разблокировать оба? Могу ли я удалить порт 22? Я бы не стал задавать этот вопрос, если бы мое SSH-соединение прервалось, но теперь я запутался, что на самом деле использует SSH-порт

Порт 47000+ используется только для рукопожатия?
Я прошу прощения за этот (почти не относящийся к делу) вопрос, но боюсь, что я никогда не смогу снова подключиться к моему серверу SSH, если у меня неправильная конфигурация брандмауэра

2 ответа

Решение

Нужно ли разблокировать оба?

Нет.

Могу ли я удалить порт 22?

Да.

Я бы не стал задавать этот вопрос, если бы мое SSH-соединение прервалось, но теперь я запутался, что на самом деле использует SSH-порт

Как правило, ваше существующее соединение не будет выполнено. Нам бы наверняка нужно было узнать, какой набор правил iptables вам известен, но ваше существующее / связанное tcp-соединение должно обойти проверку закрытого порта. Вы можете проверить это, попытавшись создать новый ssh-сеанс (как отмечено в комментарии @Joes).

Порт 47000+ используется только для рукопожатия?

Нет. Этот порт будет использоваться для всего трафика SSH.

Есть несколько вещей, которые вам нужно настроить как минимум, чтобы SSH работал, и эта конфигурация затем меняется в зависимости от того, что вы хотите сделать.

Давайте сейчас предположим, что вы находитесь в своей собственной внутренней сети и сохраняете все значения по умолчанию, пока мы не узнаем, что это работает. затем мы продолжим с расширенной конфигурацией.

На данный момент переадресация портов не требуется, это последний шаг. На данный момент нам нужно только знать, что служба включена, какой IP-адрес имеет удаленная машина, и на каком порту слушает демон ssh-сервера, и блокирует ли удаленный брандмауэр входящие запросы для SSH.

шаг 1 - установить и включить службу openSSH-сервера (на удаленной машине)

шаг 2-Отключить брандмауэр (на удаленной машине)

Если вы не уверены на 100%, отключили ли вы удаленный брандмауэр или нет, выполните следующие действия:

статус службы sudo ufw

там вы увидите его статус, когда он активен, давайте пока его отключим.

sudo служба ufw отключить

Если вы только что установили openssh-server и не меняли конфигурацию, порт по умолчанию установлен на 22. Если вы изменили конфигурацию SSH для прослушивания на другом порту, требуется перезапуск службы ssh-server. Созданный процесс SSH по-прежнему кэшируется в памяти и начнет обслуживать другой порт только в тот момент, когда будет создан новый процесс демона SSH-сервера.

Таким образом, выполните:

перезагрузка службы sudo ssh

Теперь перейдите к клиентскому ПК. Пропингуйте удаленную машину. Это первый шаг для базового подключения, но ping — плохой инструмент для тестирования протоколов или сервисных проблем. Они существуют на разных уровнях OSI. теперь откройте свой ssh-клиент, это может быть шпатлевка или что-то еще, или просто окно терминала в linux тоже отлично работает.

После выполнения вышеуказанных шагов это должно действительно работать для подключения, если нет, повторите предыдущие шаги или задайте дополнительные вопросы.

Если вы оставили все по умолчанию и оно работает, сейчас самое время переключить порт ssh, если это необходимо. так, например, предположим, что вы изменили порт с 22 на 2200 в конфигурации ssh-сервера на удаленной машине, следующим шагом будет включение брандмауэра на удаленной машине, но на этот раз после этого добавьте некоторые правила. Как только правила загружены и брандмауэр включен, на всякий случай перезапустите службу ufw и службу ssh еще раз, а затем попробуйте подключиться.

Если вы изменили порт SSH с 22 на 2200, вам придется

РАЗРЕШИТЬ правило для TCP-правила для ПОРТА 2200 с ЛЮБОГО адреса

это автоматически добавит такое же правило для ipv6.

если вам удобно отключить UFW на удаленной машине, это тоже нормально.

Теперь, когда SSH работает в вашей локальной сети, вы можете приступить к настройке удаленного доступа. Это отличается для каждого маршрутизатора, но примерно один и тот же процесс.

Найдите в меню вашего модема/маршрутизатора категорию для переадресации портов, обычно в разделе конфигурации брандмауэра/интернета или IP. когда вы обнаружили переадресацию портов, вам нужно перенаправить внешний порт (это может быть любой порт, зависит от личных предпочтений и безопасности), например, случайный порт, 8422. Это будет удаленный порт, к которому мы подключаемся всякий раз, когда мы находятся снаружи. Мы пробрасываем этот порт на внутренний порт 2200, который мы установили на машине.

поэтому вместо внутреннего IP-адреса и порта теперь мы используем внешний IP-адрес и внешний порт. теперь он настроен на туннелирование непосредственно на порт 2200 во внутренней сети и должен быть доступен. если этот последний шаг вызывает проблемы, полностью перезапустите модем/маршрутизатор и удаленный сервер. если это все еще не работает, но работает внутренний ssh, вы можете быть уверены, что конфигурация еще не верна. Ошибка отказа в доступе звучит так, будто вы пытаетесь получить доступ к SSH на неправильном порту. таким образом, вы можете получить доступ к машине, но порт, запрошенный для SSH, не обслуживает его, поэтому в разрешении отказано.

Надеюсь, это помогло.

Другие вопросы по тегам