Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

SSH е мрежов протокол, който ви позволява сигурен достъп и управление на отдалечена система през мрежа. Докато се свързвате към отдалечена машина чрез SSH, може да сте срещнали грешката „връзката е отказана“. Преживяването на този проблем може да бъде разочароващо, особено ако сте системен администратор и трябва спешно да изпълнявате някои задачи на отдалечената система.

Нека да разгледаме някои от възможните причини за получаване на грешката „отказана SSH връзка“ и методите за разрешаването й.

1. Проверете дали е инсталиран SSH сървър

Една възможна причина за грешката „отказана връзка“ е, че отдалечената машина не работи SSH сървър. Без SSH сървър машината няма да приема входящи SSH връзки и вие няма да можете да осъществявате отдалечен достъп до нея.

Така че първата стъпка в отстраняването на грешката е да проверите дали SSH сървър е инсталиран на отдалечената машина. Използвайте следната команда, за да проверите инсталацията на SSH сървъра:

instagram viewer

На базирани на Debian дистрибуции:

dpkg --списък | grep ssh

При дистрибуции, базирани на RHEL:

yum списък инсталиран | grep ssh

На openSUSE:

zypper търсене -i | grep ssh

При дистрибуции, базирани на Arch:

pacman -Q | grep ssh

Ако SSH сървърът е инсталиран на отдалечената машина, ще го видите в списъка в изхода. В противен случай трябва инсталирайте OpenSSH сървъра на отдалечената машина искате да получите достъп чрез SSH. OpenSSH е версия с отворен код на SSH инструментите за отдалечен достъп и управление на системи.

За да инсталирате OpenSSH сървъра, използвайте следните команди:

На базирани на Debian дистрибуции:

sudo apt инсталирате openssh-сървър

При дистрибуции, базирани на RHEL:

sudo yum инсталирайте openssh-сървър

На openSUSE:

sudo zypper инсталирайте openssh

При дистрибуции, базирани на Arch:

pacman -S openssh

2. Проверете състоянието на SSH услугата

Друга причина за получаване на грешката „отказана връзка“ може да бъде, че SSH услугата е деактивирана или не работи на отдалечената машина. След като сте сигурни, че SSH сървърът е инсталиран, второто нещо, което трябва да проверите, е състоянието на сървъра.

sudo systemctl status sshd

Ако услугата работи и работи, изходът ще я посочи като активен (работи). В противен случай ще видите нещо подобно неактивен (мъртъв).

Ако SSH сървърът не работи, можете да го стартирате ръчно, като използвате следната команда:

sudo systemctl стартиране на sshd

Можете също така да активирате услугата да стартира автоматично при зареждане с:

sudo systemctl активира sshd

3. Проверете SSH порта

По подразбиране SSH сървърът работи на порт 22. Човек обаче може да промени порта по подразбиране. Следователно, ако получите SSH грешка „отказана връзка“, това може да се дължи на това, че се опитвате да се свържете към SSH сървъра на порт по подразбиране 22, докато той работи на друг порт.

Можеш използвайте командата netstat с grep, за да намерите порта, на който SSH сървърът слуша:

sudo netstat -plntu | grep ssh

Можете също да намерите SSH порта от sshd_config файл с помощта на следната команда:

grep порт /etc/ssh/sshd_config

След като идентифицирате правилния SSH порт, опитайте да се свържете с вашата отдалечена система, като използвате този конкретен порт.

4. Проверете защитната стена на вашата система

Повечето проблеми със свързването възникват поради блокиране на някои портове или услуги от защитната стена на вашето устройство. Ако отдалечената машина има инсталиран и работещ SSH сървър, следващата стъпка е да проверите вашата защитна стена.

За да разберете дали защитната стена блокира връзката, временно деактивирайте защитната стена, като използвате следните команди:

На Debian и базирани на Arch Linux дистрибуции:

sudo ufw деактивиране

При дистрибуции, базирани на RHEL и openSUSE:

sudo systemctl деактивира защитната стена

Ако грешката не се появи след деактивиране на защитната стена, това означава, че защитната стена блокира връзката. В този случай активирайте отново защитната стена и добавете правило, което позволява SSH.

В Debian и базирани на Arch Linux дистрибуции използвайте следната команда, за да разрешите SSH защитната стена на UFW:

sudo ufw позволява ssh

Като алтернатива можете също да разрешите SSH чрез номера на порта в защитната стена. Да кажем, че SSH сървърът използва порт 5555, тогава ще използвате следната команда, за да го разрешите в защитната стена:

sudo ufw позволи 5555

За да проверите дали правилото е добавено успешно, проверете състоянието на UFW:

състояние sudo ufw

При дистрибуции, базирани на RHEL и openSUSE, използвайте следната команда, за да разрешите SSH в защитната стена:

sudo firewall-cmd --permanent --add-service=ssh

За да разрешите SSH по номер на порт, използвайте следната команда:

sudo firewall-cmd --permanent --add-port={port}/tcp

За SSH сървър, работещ на порт 4444, командата ще бъде:

sudo firewall-cmd --permanent --add-port=4444/tcp

За да проверите успешното добавяне на правилото в защитната стена, изпълнете:

sudo firewall-cmd --list-all

5. Разрешаване на конфликти на IP адреси

Също така има вероятност от възникване на грешка „отказана връзка на SSH“ поради това, че IP на SSH сървъра е в конфликт с IP на друга система в мрежата. Това се случва, когато две системи в мрежа твърдят, че имат еднакъв IP адрес, което води до IP конфликт.

За да потвърдите дали има IP конфликт във вашата мрежа, използвайте инструмента за arp-сканиране, както следва:

arp-сканиране [идентификатор на мрежа]

Ако има IP конфликт, ще видите дублирания IP адрес в изхода. Екранната снимка по-долу е пример за IP конфликт в мрежа:

За да избегнете IP конфликти, уверете се, че нито едно устройство няма статични IP адреси, които се припокриват с адресите на DHCP пула.

Бонус съвет: Стартирайте SSH в подробен режим

Всеки път, когато срещнете SSH грешка, опитайте да изпълните командата ssh в подробен режим, за да откриете проблема. За да стартирате SSH в подробен режим, използвайте командата ssh с -vvv опция, както следва:

ssh -vvv потребителско име@ip_адрес

В подробен режим ще видите съобщения за отстраняване на грешки във всяка стъпка от връзката, които ще ви помогнат да разберете къде се крие проблемът.

Отстраняване на грешка при SSH „Отказана връзка“ в Linux

Чрез идентифициране на потенциалните причини за грешката при SSH свързване и внедряване на предложените решения, вие ще можете да отстраните неизправностите и да разрешите грешката SSH „отказана връзка“. В допълнение към тези стъпки се уверете, че се свързвате с правилния IP адрес и използвате правилните идентификационни данни за вход.

За да направите отдалечената си връзка по-сигурна, можете да настроите двуфакторно удостоверяване за SSH на Linux.