Как исправить: в соединении отказано через порт 22 Debian / Ubuntu

How Fix Connection Refused Port 22 Debian Ubuntu



SSH обеспечивает безопасный способ доступа к серверам Linux и управления ими. Иногда при подключении к SSH-серверам пользователи часто сталкиваются с ошибкой «Соединение отклонено» через порт 22. Это происходит по нескольким причинам, например, по нескольким причинам, например, по нескольким причинам, например, по причине того, что служба SSH не работает, порт заблокирован брандмауэром или сервер использует другой порт. Это также может произойти из-за конфликта IP-адресов. В этой статье мы обсудим некоторые решения, которые вы должны попробовать, чтобы исправить ошибку.

Примечание: Обсуждаемые здесь команды были протестированы на Ubuntu 20.04 LTS. Те же команды действительны и для системы Debian.







Исправить ошибку отказа в соединении

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





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





Убедитесь, что OpenSSH установлен

Одна из причин, по которой вы можете получить сообщение об ошибке в соединении, заключается в том, что сервер OpenSSH не установлен на целевом сервере.

Во-первых, вам нужно убедиться, что сервер OpenSSH установлен в системе, к которой вы пытаетесь получить доступ через SSH. Чтобы проверить, установлен ли OpenSSH, введите следующую команду в Терминале целевого сервера:



$судоподходящий список--установлены | рукояткаopenssh-сервер

Эта команда в основном фильтрует термин openssh-server из списка установленных пакетов. Если вы получите следующий аналогичный вывод, это означает, что сервер OpenSSH установлен. С другой стороны, если вы не получаете вывода, это означает, что OpenSSH отсутствует на целевом сервере.

Если он не установлен на целевом сервере, вы можете установить его, используя следующую команду как sudo:

$судоподходящийустановитьopenssh-сервер

Затем введите пароль sudo и при запросе подтверждения нажмите «y». После установки подтвердите его, используя ту же команду

$судоподходящий список--установлены | рукояткаopenssh-сервер

Проверить службу SSH

Служба OpenSSH работает в фоновом режиме и прослушивает входящие соединения. Остановленная служба OpenSSH может быть одной из причин, по которой вы получаете сообщение об ошибке в соединении.

Поэтому необходимо проверить, запущена ли служба OpenSSH или нет, используя следующую команду в Терминале:

$судоуслугаsshположение дел

Если вы видите следующий вывод, это означает, что служба активна и работает в фоновом режиме.

С другой стороны, если вы получите неактивный (мертвый), это означает, что служба не работает . Вы можете запустить службу OpenSSH, используя следующую команду как sudo в Терминале:

$судоуслугаsshНачните

Чтобы перезапустить службу, используйте следующую команду:

$судоуслугаsshрестарт

Проверьте порт прослушивания SSH-сервера

Еще одна причина получения сообщения об ошибке в соединении отказано в том, что вы пытаетесь подключиться не к тому порту. Например, если сервер настроен на прослушивание порта 2244, и вы пытаетесь подключиться к его порту по умолчанию 22, то в этом случае вы получите сообщение об ошибке в соединении.

Прежде чем пытаться подключиться, вам необходимо проверить порт прослушивания SSH-сервера. Если это порт по умолчанию (22), вы можете подключить его с помощью следующей команды:

$ssh [имя пользователя]@[удаленный IP-адрес сервера илиимя хоста]

Если это какой-то порт, отличный от порта по умолчанию, вам нужно будет подключиться к серверу SSH, используя этот порт:

$ssh -п [номер порта] [имя пользователя]@[айпи адрес]

Чтобы проверить, какой порт на каком порту слушает сервер OpenSSH; используйте следующую команду в Терминале:

$судо netstat -ltnp | рукояткаsshd

Вы получите результат, подобный следующему:

В третьем столбце вы можете увидеть, что порт прослушивания сервера - 2244. В этом случае вам нужно будет подключиться к серверу SSH, используя этот порт.

$ssh -п [2244] [имя пользователя]@[айпи адрес]

Разрешить SSH в брандмауэре

Брандмауэр, блокирующий порт SSH, может быть еще одной важной причиной ошибки отказа в соединении. Если на сервере SSH запущен брандмауэр, вам необходимо разрешить порт SSH на нем, используя следующую команду. Заменить порт по номеру порта, который прослушивает SSH-сервер:

$судоufw разрешить порт/TCP

Например, если SSH-сервер прослушивает порт 2244, вы можете разрешить его в брандмауэре следующим образом:

$судоufw разрешить2244/TCP

Перезагрузите брандмауэр, используя следующую команду:

$судоufw перезагрузка

Чтобы убедиться, что правила были добавлены, проверьте состояние брандмауэра, используя следующую команду в Терминале:

$судостатус ufw

Следующие выходные данные показывают, что порт 2244 разрешен в брандмауэре.

Разрешить конфликт повторяющихся IP-адресов

Ошибка отказа в соединении также может возникать из-за конфликта дублированных IP-адресов. Итак, убедитесь, что в системе нет повторяющегося IP-адреса.

Установите утилиту arping в вашу систему, используя следующую команду:

$судоподходящийустановитьарпинг

Затем проверьте IP-адрес SSH-сервера.

$пинг <айпи адрес>

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

Вот как исправить ошибку отказа в соединении через порт 22 в системах Linux. В этой статье мы описали несколько способов, которые наверняка помогут вам решить проблему с отказом в соединении.