Какие порты мне нужно держать открытыми для доступа к моему 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, не обслуживает его, поэтому в разрешении отказано.
Надеюсь, это помогло.