Kaip pataisyti: ryšį atmetė 22 prievadas „Debian“/„Ubuntu“

How Fix Connection Refused Port 22 Debian Ubuntu



SSH suteikia saugų būdą pasiekti ir valdyti „Linux“ serverius. Kartais prisijungdami prie SSH serverių vartotojai dažnai susiduria su ryšio prieigos klaida dėl 22 prievado. Taip atsitinka dėl kelių priežasčių, pvz., Neveikia SSH paslauga, uostą užblokuoja užkarda arba serveris naudoja kitą prievadą. Taip gali atsitikti ir dėl IP konflikto problemos. Šiame straipsnyje aptarsime kai kuriuos sprendimus, kuriuos turėtumėte išbandyti, kad ištaisytumėte klaidą.

Pastaba: Čia aptartos komandos buvo išbandytos naudojant „Ubuntu 20.04 LTS“. Tos pačios komandos galioja ir Debian sistemai.





„Fix Connection“ klaida

Tai klaida „Ryšio atsisakymas“, kuri gali kilti prisijungiant prie nuotolinės sistemos per SSH.





Žingsnis po žingsnio vykdykite toliau pateiktus sprendimus, kad išspręstumėte klaidą „Ryšys atmestas“.





Įsitikinkite, kad įdiegta „OpenSSH“

Viena iš priežasčių, kodėl galite gauti klaidos dėl ryšio atsisakymo, yra ta, kad „OpenSSH“ serveris nėra įdiegtas tiksliniame serveryje.

Pirmiausia turite įsitikinti, kad „OpenSSH“ serveris yra įdiegtas sistemoje, kurią bandote pasiekti per SSH. Norėdami patikrinti, ar „OpenSSH“ įdiegta, ar ne, „Target“ serverio terminale paleiskite šią komandą:



$sudotinkamas sąrašas-įdiegta | sukibimasatidaro serverį

Ši komanda iš esmės filtruoja terminą openssh-server iš įdiegtų paketų sąrašo. Jei gaunate panašų išvestį, tai reiškia, kad „OpenSSH“ serveris yra įdiegtas. Kita vertus, jei negaunate išvesties, tai reiškia, kad tiksliniame serveryje trūksta „OpenSSH“.

Jei jis nėra įdiegtas tiksliniame serveryje, galite jį įdiegti naudodami šią komandą kaip sudo:

$sudotinkamasdiegtiatidaro serverį

Tada įveskite „sudo“ slaptažodį ir paprašius patvirtinimo paspauskite „y“. Įdiegę patvirtinkite ją naudodami tą pačią komandą

$sudotinkamas sąrašas-įdiegta | sukibimasatidaro serverį

Patikrinkite SSH paslaugą

„OpenSSH“ paslauga veikia fone ir klauso gaunamų ryšių. Sustabdyta „OpenSSH“ paslauga gali būti viena iš priežasčių, kodėl gaunate klaidos pranešimą dėl ryšio atsisakymo.

Todėl būtina patikrinti, ar „OpenSSH“ paslauga veikia, ar ne, naudojant šią komandą terminale:

$sudopaslaugasshbūsena

Jei matote šią išvestį, tai reiškia, kad paslauga yra aktyvi ir veikia fone.

Kita vertus, jei gauni neaktyvus (negyvas), tai reiškia, kad paslauga neveikia . „OpenSSH“ paslaugą galite paleisti naudodami šią komandą kaip „sudo“ terminale:

$sudopaslaugasshpradėti

Norėdami iš naujo paleisti paslaugą, naudokite šią komandą:

$sudopaslaugasshperkrauti

Patikrinkite SSH serverio klausymo prievadą

Kita priežastis, kodėl gaunama klaida „Ryšio atsisakymas“, yra ta, kad bandote prisijungti prie netinkamo prievado. Pvz., Jei serveris sukonfigūruotas klausytis 2244 prievado ir bandote prisijungti prie numatytojo 22 prievado, tokiu atveju gausite klaidos pranešimą dėl ryšio atsisakymo.

Prieš bandydami prisijungti, turite patikrinti SSH serverio klausymo prievadą. Jei tai yra numatytasis prievadas (22), galite jį prijungti naudodami šią komandą:

$ssh [Vartotojo vardas]@[nuotolinio serverio IP arbapagrindinio kompiuterio vardas]

Jei tai yra kitas nei numatytasis prievadas, turėsite prisijungti prie SSH serverio naudodami šį prievadą:

$ssh -p [uosto_numeris] [Vartotojo vardas]@[IP adresas]

Norėdami patikrinti, kurio prievado OpenSSH serveris klauso; naudokite šią komandą terminale:

$sudo netstat -ltnp | sukibimassshd

Jūs gausite išvestį, panašią į šią:

Trečiame stulpelyje matote, kad serverio klausymo prievadas yra 2244. Tokiu atveju turėsite prisijungti prie SSH serverio naudodami šį prievadą.

$ssh -p [2244] [Vartotojo vardas]@[IP adresas]

Leisti SSH naudoti užkardoje

Ugniasienė, blokuojanti SSH prievadą, gali būti dar viena pagrindinė ryšio atsisakymo klaidos priežastis. Jei SSH serveryje veikia užkarda, turėsite leisti jame esantį SSH prievadą naudodami šią komandą. Pakeiskite uostas pagal prievado numerį, kurio klausosi SSH serveris:

$sudoufw leisti uostą/tcp

Pavyzdžiui, jei SSH serveris klausosi 2244 prievado, galite jį leisti ugniasienėje kaip:

$sudoufw leisti2244/tcp

Iš naujo įkelkite užkardą naudodami šią komandą:

$sudoufw perkrauti

Norėdami patvirtinti, ar taisyklės buvo pridėtos, patikrinkite ugniasienės būseną naudodami šią komandą terminale:

$sudoufw būsena

Ši išvestis rodo, kad 2244 prievadas leidžiamas užkardoje.

Išspręskite pasikartojančio IP adreso konfliktą

Ryšio atsisakymo klaida taip pat gali atsirasti dėl pasikartojančio IP adreso konflikto. Taigi įsitikinkite, kad sistemoje nėra pasikartojančio IP adreso.

Įdiekite arping įrankį savo sistemoje naudodami šią komandą:

$sudotinkamasdiegtilankavimasis

Tada surinkite SSH serverio IP adresą.

$ping <IP adresas>

Jei išvestyje matote atsakymą iš daugiau nei vieno MAC adreso, tai rodo, kad sistemoje veikia dublikatas. Tokiu atveju pakeiskite SSH serverio IP adresą ir bandykite vėl prisijungti naudodami naują IP adresą.

Štai kaip ištaisyti ryšio „22“ prievado klaidą „Linux“ sistemose. Šiame straipsnyje aprašėme kelis būdus, kurie tikrai padės išspręsti klaidą „Ryšio atsisakymas“.