SSH -ühenduste silumine

How Debug Ssh Connections



See õpetus käsitleb mõningaid kiireid meetodeid ja tehnikaid, mida saate kasutada erinevate SSH -ühenduste diagnoosimiseks, sealhulgas siis, kui te ei saa SSH -ga ühendust luua, autentimisvead jms.

MÄRGE: Enne alustamist veenduge, et seade, millega soovite ühenduse luua, on võrgus ja tõrge ei tulene sellest, et seade pole saadaval.







1. probleem: SSH -teenus ei tööta

SSH -ühenduse vigade levinud põhjus on see, et teenus ei tööta kaugarvutis. Selle põhjuseks võib olla teenuse juhuslik väljalülitamine või teenuse käivitamine pärast süsteemi taaskäivitamist.



SSH -teenuse töötamise kontrollimiseks kasutage süsteemihaldurit, kasutades järgmist käsku:



sudosystemctl olek sshd

Ülaltoodud käsk peaks teatama, kas teenus töötab või mitte, nagu on näidatud allolevatel ekraanipiltidel.







Lahendus

Teenuse mittetöötamisest tingitud SSH -probleemide lahendamiseks kasutage teenuse käivitamiseks süsteemi. Kui teenus vastab vigadega, kontrollige logisid ja parandage logis teatatud probleemid.

Kasutage teenuse logide kontrollimiseks allolevat käsku.

haaret 'sshd' /kus/logi/auth.log

Kasutage allolevat käsku, et käivitada või peatada SSH -teenus süsteemi abil.

sudosystemctl käivitage sshd

Väljaanne 2: SSH mittestandardses pordis

Teine levinud probleem SSH-ühenduste silumisel on mittestandardse pordi kasutamine. Kui SSH töötab mõnes muus kui vaikimisi kasutatavas pordis 22, ei loo te kaughostiga ühendust, kui pole selgesõnaliselt määranud porti, millel SSH töötab.

Pordi vaatamiseks, millel SSH töötab, kasutage alltoodud tööriista, näiteks netstat.

[sadu@centos8 ~]$sudo netstat -ptln | haaret ssh
tcp0 00.0.0.0:560.0.0.0:*KUULA1131/sshd
tcp60 0:::56:::*KUULA1131/sshd

Ülaltoodud väljund näitab, millisel pordil SSH -teenus töötab. Sel juhul on see port 56.

Lahendus

Selle probleemi lahendamiseks võite kasutada netstatist saadud teavet, et täpsustada oma ssh -käsus olev port järgmiselt:

sshkasutajanimi@ip -lk 56

Väljaanne 3: sama teenust kasutav teine ​​teenus

SSH -ühenduse vigade teine ​​põhjus on see, kui ka mõni muu teenus või protsess kasutab SSH -teenusega sama porti. Näiteks kui SSH on selgesõnaliselt määratud töötama pordis 80 (kohutav idee), võib selline teenus nagu Apache kasutada sama porti.

Et näha, kas mõni muu protsess kasutab sama porti kui SSH, kontrollige logisid käsuga:

sudojournalctl-tsshd

See käsk peaks tagastama allpool näidatud vea, mis näitab, kas mõni muu protsess kasutab SSH-ga seotud porti.

sshd[110611]: tõrge: seo pordiga800.0.0.0 ebaõnnestus: aadress on juba olemassissekasutada

Hea on tagada, et pordi sidumisviga on põhjustatud mõnest teisest teenusest, mitte turvameetmetest nagu SELinux.

Lahendus

Selle probleemi lahendamiseks saate kasutada erinevaid viise. Need sisaldavad:

Esimene on siduda SSH -teenus teise pordiga. Seda saate teha SSH konfiguratsioonifaili muutmisega. Näiteks muutke pordi kirje portiks 3009, nagu on näidatud käskudes:

sudo nano /jne/ssh/sshd_config
Sadam3009

Teine võimalus selle probleemi lahendamiseks on teenuse peatamine SSH -pordi abil. Näiteks peatage apache teenus, kasutades porti 80 järgmiselt:

sudosystemctl peata httpd
sudosystemctl keela httpd

4. probleem: tulemüür

Kui olete proovinud kõiki ülaltoodud meetodeid ja SSH -ühendust pole, võite liikuda järgmise probleemi võimaliku põhjuse juurde: tulemüüri piirangud. Sõltuvalt kasutatavast tulemüüri meetodist (UFW või Iptables) peate tagama, et tulemüür lubab SSH -ühendusi.

Lahendus

Tulemüüri reeglid on laiad ja võivad sõltuvalt süsteemi konfiguratsioonist erineda. Seega ei saa ma kõiki aspekte käsitleda. Järgnev on aga lihtne lahendus tagamaks, et SSH -teenus on UFW tulemüüris lubatud.

sudoufw lubage<ssh_port> /tcp

Samuti saate lähtestada kõik UFW reeglid ja alustada otsast peale. See võimaldab teil tulemüüriühenduste tõrkeotsingut nullist otsida.

sudoufw lähtestamine

Väljaanne 5: keelatud paroolide sisselogimine

Mõnikord saate konfigureerida SSH-d mitte aktsepteerima parooliga sisselogimist ja kasutama ainult avaliku võtme autentimist. See võib põhjustada probleemi, kui avalik võti pole serveris saadaval või puudub teie privaatvõtmepaar.

Kui soovite kontrollida, kas parooliga sisselogimine on lubatud, valige ssh config järgmiselt:

[sadu@centos8]$sudo haaretParool Autentimine/jne/ssh/sshd_config
#PasswordAuthentication jah
Parool Autentiminejah
# Parooliautentimine. Sõltuvalt teie PAM -i konfiguratsioonist
# PAM -autentimine, seejärel lubage see, kuid määrake PasswordAuthentication

Ülaltoodud väljund näitab, et parooliga sisselogimine on lubatud.

Lahendus

Ülaltoodud probleemi lahendamiseks võite kasutada kahte meetodit.

Esiteks, kui väärtuseks on seatud ei, muutke PasswordAuthentication väärtuseks jah ja taaskäivitage ssh -teenus.

Teine meetod on luua ssh võtme-väärtuse paar ja kasutada seda serverisse sisselogimiseks. Ssh võtme-väärtuse paari loomise õppimiseks kasutage järgmist juhendit.

https://linuxhint.com/find-ssh-public-key/

https://linuxhint.com/use-ssh-copy-id-command/

Järeldus

Selles lühijuhendis arutasime SSH -ühenduse vigade peamisi põhjuseid ja kuidas neid lahendada. Kuigi see juhend hõlmab levinud probleeme, võite konfiguratsiooni ja lubade põhjal leida oma süsteemile omaseid vigu.