ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

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

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

SSH обеспечивает безопасный канал для доступа к серверам Linux. Иногда мы сталкиваемся с ошибкой «Отказано в соединении» при подключении к SSH-серверам. Ошибка может быть вызвана несколькими причинами, такими как неактивность службы SSH, порт заблокирован брандмауэром ufw, сервер использует другой порт или конфликт IP-адресов. Сегодня мы рассмотрим различные способы устранения проблемы. Проблема с отказом в соединении в системе Ubuntu/Debian.

 

Проверьте установку OpenSSH в вашей системе Linux

Сначала проверьте, установлен ли OpenSSH в вашей системе или нет. Упомянутая ниже команда проверит это.

sudo apt list --installed | grep openssh-server

 

Если OpenSSH не установлен, мы установим его, выполнив следующую команду:

sudo apt install openssh-server

 

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

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

sudo service ssh status

 

Если ваша служба SSH неактивна, вы можете запустить ее, выполнив следующие команды:

sudo service ssh start

sudo service ssh restart

 

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

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

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

ssh [username]@[remoteserver IP or hostname]

 

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

sudo netstat -ltnp | grep sshd

 

Как мы видим, 22-й порт используется OpenSSH для прослушивания соединений.

В случае, если вместо 22 используется какой-то другой порт, вы выполните следующую команду:

ssh -p [Port] [username]@[ip_address]

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

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

sudo ufw allow port /tcp

 

Если используется порт, отличный от 22, вы выполните следующую команду:

sudo ufw allow 2244/tcp

 

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

sudo ufw reload

 

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

sudo ufw status

 

Вы увидите следующее сообщение, если вы используете порт 2244 для SSH:

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

 

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

Другой причиной, которая может вызывать эту проблему, является дублирующийся IP-адрес. Итак, нам нужно проверить, есть ли в системе дублирующийся адрес или нет. Для этого нам нужна утилита arping в нашей системе. Установите его с помощью следующей команды:

sudo apt install arping

 

Теперь пропингуйте IP-адрес сервера, используя приведенный ниже синтаксис команды:

ping <ip-address>

 

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

 

Вывод

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

Exit mobile version