Примітка: Обговорені тут команди були протестовані на Ubuntu 20.04 LTS. Ті самі команди також діють для системи Debian.
Виправлено помилку відмови у підключенні
Це помилка “Підключення відхилено”, яка може виникнути під час підключення до віддаленої системи через SSH.
Дотримуйтесь наведених нижче рішень крок за кроком, щоб усунути помилку “Підключення відхилено”.
Переконайтеся, що OpenSSH встановлено
Однією з причин, через яку може з’явитися помилка „З’єднання відмовлено”, є те, що сервер OpenSSH не встановлений на цільовому сервері.
По-перше, вам потрібно буде переконатися, що сервер OpenSSH встановлений в системі, до якої ви намагаєтесь отримати доступ через SSH. Для того, щоб перевірити, чи встановлений OpenSSH чи ні, у терміналі сервера цільового сервера виконайте таку команду:
$ sudo apt list --встановлено | grep openssh-serverЦя команда в основному фільтрує термін “openssh-server” зі списку встановлених пакетів. Якщо ви отримаєте такі подібні результати, це означає, що встановлений сервер OpenSSH. З іншого боку, якщо ви не отримуєте вихідних даних, це означає, що OpenSSH відсутній на цільовому сервері.
Якщо він не встановлений на цільовому сервері, ви можете встановити його, використовуючи таку команду як sudo:
$ sudo apt install openssh-serverПотім введіть пароль sudo, а коли з'явиться запит на підтвердження, натисніть "y". Після встановлення підтвердіть це за допомогою тієї ж команди
$ sudo apt list --встановлено | grep openssh-serverПеревірте службу SSH
Служба OpenSSH працює у фоновому режимі і слухає вхідні з'єднання. Зупинена служба OpenSSH може бути однією з причин, через яку ви отримуєте помилку "З'єднання відмовлено".
Тому необхідно перевірити, чи запущена служба OpenSSH, чи не використовується така команда в терміналі:
$ sudo service ssh статусЯкщо ви бачите наступний результат, це означає, що служба активна і працює у фоновому режимі.
З іншого боку, якщо отримуєте неактивний (мертвий), це означає, що служба не запущена. Ви можете запустити службу OpenSSH, використовуючи таку команду як sudo в Terminal:
$ sudo service ssh startДля того, щоб перезапустити службу, використовуйте таку команду:
$ sudo service ssh restartПеревірте порт прослуховування сервера SSH
Ще однією причиною отримання помилки “З’єднання відмовлено” є те, що ви намагаєтесь підключитися до неправильного порту. Наприклад, якщо сервер налаштований на прослуховування через порт 2244, і ви намагаєтесь підключитися до порту 22 за замовчуванням, то, в цьому випадку, ви отримаєте повідомлення про помилку “З’єднання відхилено”.
Перш ніж намагатися підключитися, потрібно перевірити порт прослуховування сервера SSH. Якщо це порт за замовчуванням (22), ви можете підключити його за допомогою такої команди:
$ ssh [ім'я користувача] @ [IP-адреса віддаленого сервера або ім'я хосту]Якщо це інший порт, відмінний від порту за замовчуванням, вам потрібно буде підключитися до сервера SSH за допомогою цього порту:
$ ssh -p [номер_порту] [ім'я користувача] @ [ip_address]Для того, щоб перевірити, на якому порту слухає сервер OpenSSH; використовуйте таку команду в терміналі:
$ sudo netstat -ltnp | grep sshdВи отримаєте результат, подібний до наступного:
У третій колонці ви можете побачити порт прослуховування сервера 2244. У цьому випадку вам потрібно буде підключитися до сервера SSH за допомогою цього порту.
$ ssh -p [2244] [ім'я користувача] @ [ip_address]Дозволити SSH у брандмауері
Брандмауер, що блокує порт SSH, може бути ще однією основною причиною помилки "З'єднання відмовлено". Якщо на сервері SSH працює брандмауер, вам потрібно дозволити в ньому порт SSH, використовуючи наступну команду. Замініть порт за номером порту, який прослуховує сервер SSH:
$ sudo ufw дозволить порт / tcpНаприклад, якщо сервер SSH слухає порт 2244, ви можете дозволити його в брандмауері як:
$ sudo ufw дозволяють 2244 / tcp
Перезавантажте брандмауер, використовуючи таку команду:
$ sudo ufw перезавантажитиЩоб підтвердити, чи правила додані, перевірте стан брандмауера, використовуючи таку команду в терміналі:
$ sudo ufw статусНаступний результат показує, що порт 2244 дозволений у брандмауері.
Вирішити конфлікт повторюваних IP-адрес
Помилка "Підключення відхилено" може також статися через конфлікт повторюваних IP-адрес. Отже, переконайтесь, що система не має дубліката IP-адреси.
Встановіть утиліту arping у свою систему, використовуючи таку команду:
$ sudo apt встановити arpingПотім проскануйте IP-адресу сервера SSH.
$ пінгЯкщо на виході ви бачите відповідь з декількох MAC-адрес, це означає, що в системі працює дублікат IP-адреси. У цьому випадку змініть IP-адресу SSH-сервера та спробуйте підключитися знову за новою IP-адресою.
Ось як виправити помилку “З’єднання відмовлено” через порт 22 в системах Linux. У цій статті ми описали кілька способів, які, безсумнівно, допоможуть вам у вирішенні помилки „З’єднання відмовлено”.