Az SSH egy hálózati protokoll, amely lehetővé teszi a távoli rendszer biztonságos elérését és kezelését a hálózaton keresztül. Amikor SSH-n keresztül csatlakozott egy távoli géphez, előfordulhat, hogy a "kapcsolat megtagadva" hibával találkozott. A probléma megtapasztalása frusztráló lehet, különösen akkor, ha Ön rendszergazda, és sürgősen el kell végeznie bizonyos feladatokat a távoli rendszeren.
Nézzünk meg néhány lehetséges okot, amelyek az SSH "kapcsolat megtagadva" hibaüzenethez vezethetnek, és hogyan lehet megoldani.
1. Ellenőrizze, hogy telepítve van-e SSH-kiszolgáló
A "kapcsolat megtagadva" hiba egyik lehetséges oka az, hogy a távoli gép nem fut egy SSH szerver. SSH-szerver nélkül a gép nem fogad beérkező SSH-kapcsolatokat, és távolról sem érheti el.
Tehát a hiba elhárításának legelső lépése annak ellenőrzése, hogy telepítve van-e SSH-kiszolgáló a távoli gépen. A következő paranccsal ellenőrizze az SSH-kiszolgáló telepítését:
Debian-alapú disztribúciókon:
dpkg --list | grep ssh
RHEL-alapú disztribúciók esetén:
yum lista telepítve | grep ssh
Az openSUSE rendszeren:
zypper keresés -i | grep ssh
Arch alapú disztribúciók esetén:
pacman -Q | grep ssh
Ha az SSH-kiszolgáló telepítve van a távoli gépen, akkor a kimeneten látni fogja. Ellenkező esetben muszáj telepítse az OpenSSH szervert a távoli gépre SSH-n keresztül szeretne elérni. Az OpenSSH az SSH-eszközök nyílt forráskódú változata a rendszerek távoli elérésére és vezérlésére.
Az OpenSSH szerver telepítéséhez használja a következő parancsokat:
Debian-alapú disztribúciókon:
sudo apt install openssh-server
RHEL-alapú disztribúciók esetén:
sudo yum install openssh-server
Az openSUSE rendszeren:
sudo zypper install openssh
Arch alapú disztribúciók esetén:
pacman -S openssh
2. Ellenőrizze az SSH szolgáltatás állapotát
A „kapcsolat megtagadva” hibaüzenet másik oka lehet, hogy az SSH szolgáltatás le van tiltva, vagy nem fut a távoli gépen. Miután megbizonyosodott arról, hogy az SSH-kiszolgáló telepítve van, a második dolog, amit ellenőriznie kell, a kiszolgáló állapota.
sudo systemctl állapot sshd
Ha a szolgáltatás működik és fut, a kimenet a következőképpen fogja jelezni aktív (futó). Ellenkező esetben valami hasonlót fog látni inaktív (halott).
Ha az SSH-kiszolgáló nem fut, manuálisan indíthatja el a következő paranccsal:
sudo systemctl start sshd
Azt is engedélyezheti, hogy a szolgáltatás automatikusan elinduljon rendszerindításkor:
sudo systemctl engedélyezése sshd
3. Ellenőrizze az SSH portot
Alapértelmezés szerint az SSH-kiszolgáló a 22-es porton fut. Az alapértelmezett port azonban módosítható. Ezért ha az SSH "kapcsolat megtagadva" hibaüzenetet kapja, annak az lehet az oka, hogy az alapértelmezett 22-es porton próbál csatlakozni az SSH-kiszolgálóhoz, miközben az más porton fut.
tudsz használja a netstat parancsot grep segítségével keresse meg azt a portot, amelyen az SSH-kiszolgáló figyel:
sudo netstat -plntu | grep ssh
Az SSH portot is megtalálhatja a sshd_config fájl a következő paranccsal:
grep port /etc/ssh/sshd_config
A megfelelő SSH-port azonosítása után próbáljon meg csatlakozni a távoli rendszerhez az adott port használatával.
4. Ellenőrizze a rendszer tűzfalát
A legtöbb csatlakozási probléma abból adódik, hogy a számítógép tűzfala blokkol bizonyos portokat vagy szolgáltatásokat. Ha a távoli gépen telepítve van és fut az SSH-kiszolgáló, a következő lépés a tűzfal ellenőrzése.
Annak megállapításához, hogy a tűzfal blokkolja-e a kapcsolatot, ideiglenesen tiltsa le a tűzfalat a következő parancsokkal:
Debian és Arch alapú Linux disztribúciók esetén:
sudo ufw letiltása
RHEL-alapú disztribúciók és openSUSE esetén:
sudo systemctl tiltsa le a tűzfalat
Ha a hiba nem jelenik meg a tűzfal letiltása után, az azt jelenti, hogy a tűzfal blokkolta a kapcsolatot. Ebben az esetben engedélyezze újra a tűzfalat, és adjon hozzá egy szabályt, amely engedélyezi az SSH-t.
Debian és Arch-alapú Linux disztribúciók esetén használja a következő parancsot az SSH engedélyezéséhez az UFW tűzfal:
sudo ufw engedélyezi az ssh-t
Alternatív megoldásként engedélyezheti az SSH-t a tűzfalban lévő portszám alapján is. Tegyük fel, hogy az SSH-kiszolgáló az 5555-ös portot használja, akkor a következő paranccsal engedélyezheti a tűzfalban:
sudo ufw engedje meg az 5555-öt
A szabály sikeres hozzáadásának ellenőrzéséhez ellenőrizze az UFW állapotát:
sudo ufw állapot
RHEL-alapú disztribúciók és openSUSE esetén a következő paranccsal engedélyezze az SSH-t a tűzfalban:
sudo firewall-cmd --permanent --add-service=ssh
Az SSH portszám alapján történő engedélyezéséhez használja a következő parancsot:
sudo firewall-cmd --permanent --add-port={port}/tcp
A 4444-es porton futó SSH-kiszolgáló esetén a parancs a következő lenne:
sudo firewall-cmd --permanent --add-port=4444/tcp
A szabály tűzfalban való sikeres hozzáadásának ellenőrzéséhez futtassa:
sudo firewall-cmd --list-all
5. IP-cím-ütközések feloldása
Az SSH "kapcsolat megtagadva" hiba is előfordulhat, mivel az SSH-kiszolgáló IP-címe ütközik egy másik rendszer IP-címével a hálózatban. Ez akkor fordul elő, ha a hálózaton lévő két rendszer azt állítja, hogy ugyanaz az IP-cím, ami azt eredményezi IP konfliktus.
Az arp-scan eszközzel ellenőrizze, hogy van-e IP-ütközés a hálózatban:
arp-scan [hálózati azonosító]
Ha IP-ütközés van, akkor a duplikált IP-cím jelenik meg a kimenetben. Az alábbi képernyőkép egy példa egy hálózat IP-ütközésére:
Az IP-ütközések elkerülése érdekében ügyeljen arra, hogy egyetlen eszköznek se legyen statikus IP-címe, amely átfedésben van a DHCP-készlet címeivel.
Bónusztipp: Futtassa az SSH-t bőbeszédű módban
Ha SSH-hibával találkozik, próbálja meg futtatni az ssh parancsot bőbeszédű módban a probléma felderítéséhez. Az SSH bőbeszédű módban történő futtatásához használja az ssh parancsot a -vvv opció az alábbiak szerint:
ssh -vvv felhasználónév@ip_cím
Bőbeszédű módban a kapcsolat minden lépésében hibakeresési üzeneteket fog látni, amelyek segítenek megérteni, hol van a probléma.
Az SSH "Connection Refused" hiba elhárítása Linux rendszeren
Az SSH-kapcsolati hiba lehetséges okainak azonosításával és a javasolt megoldások végrehajtásával képes lesz elhárítani és megoldani az SSH "kapcsolat megtagadva" hibát. A fenti lépéseken kívül győződjön meg arról, hogy a megfelelő IP-címhez csatlakozik, és a megfelelő bejelentkezési adatokat használja.
A távoli kapcsolat biztonságosabbá tétele érdekében beállíthat kétfaktoros hitelesítést az SSH-hoz Linuxon.