Pereiti prie pagrindinio turinio

Dažniausios VPS nepasiekiamumo per SSH priežastys

Atnaujinta šią savaitę

Pasitaiko atvejų, kai dėl vienos ar kitos priežasties prie serverio nepavyksta prisijungti per SSH tarnybą. Šioje pamokoje apžvelgsime dažniausiai pasitaikančias priežastis bei galimus problemų sprendimus. Daugumai problemų spręsti prie serverio reikės prisijungti per avariniam serverio administravimui skirtą konsolę. Kaip tai padaryti rasite šioje nuorodoje


1. Neveikia SSH tarnyba

Prisijungus per konsolę patikrinkite ar SSH tarnyba aktyvi:

/etc/init.d/sshd status

arba

service sshd status


Jei gaunate atsakymą panašų į:

openssh-daemon is stopped


SSH tarnybą galite paleisti su komanda:

/etc/init.d/sshd start

arba

service sshd start

2. Pakeistas standartinis SSH tarnybos prievadas

Standartiškai prie SSH tarnybos yra prisijungiama 22-u prievadu. Visgi neretai pasitaiko atvejų, kai standartinis prievadas saugumo sumetimais yra pakeičiamas į kitą ir apie tai pamirštama. Patikrinti koks prievadas naudojamas Jūsų serveryje, galite prisijungus prie serverio per konsolę. Paleiskite komandą:

netstat -nltup


CentOS7 atveju komanda bus:

ss -nltup


Viena iš eilučių turi būti tokia:

Proto Recv-Q Send-Q Local Address     Foreign Address         State       PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5184/sshd


Jei skiltyje "Local Address" vietoj šio atveju matomo skaičiaus 22 matysite kitą skaičių - tai reiškia, kad naudojate ne standartinį prievadą ir prie serverio Jums reikia jungtis naudojant Jums nurodomą prievadą.


3. Neveikia tinklo sąsaja

Platesnę šios galimos problemos apžvalgą rasite šioje pamokoje


4. root naudotojui uždrausta jungtis per SSH


Prisijungus prie serverio per konsolę, patikrinkite failo /etc/ssh/sshd_config konfigūraciją. Jei matote, eilutę:

PermitRootLogin no


pakeiskite informaciją į:

PermitRootLogin yes


bei perkraukite SSH tarnybą:

/etc/init.d/sshd restart


arba

service sshd restart

5. IP adresas iš kurio bandoma prisijungti, blokuotas serverio ugniasienėje

Lengviausias būdas išvalyti serverio ugniasienės taisykles - prisijungti prie savo klientų sistemos.


Pasirinkite savo serverio paslaugą ir nuspauskite mygtuką "Išvalyti iptables". Visgi prieš atliekant šiuos veiksmus galite išsaugoti dabartines iptables taisykles. Tai atliksite prisijungę prie serverio per konsolę:

iptables-save > kelias_kur_išsaugoti_dabartines_taisykles (pvz. /var/tmp/saved_iptables)


Taisykles atstatyti galėsite su komanda:

iptables-restore <  kelias_kur_išsaugotos_taisyklės (pvz. /var/tmp/saved_iptables)


* Kitas būdas - peržiūrėti taisykles rankiniu būdu. Tai atliksite su komanda:

iptables -L -nv


Jei pastebėsite taisyklę, kuri blokuoja susijungimą ją galėsite pašalinti su komanda:

iptables -D <taisyklė>


Taip pat, jei serveryje nėra taisyklės, leidžiančios prisijungti per SSH (22 prievadu), galite ją pridėti su komanda:

iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Ar gavote atsakymą į savo klausimą?