Kā atkļūdot SSH savienojumus

How Debug Ssh Connections



Šajā apmācībā tiks apskatītas dažas ātras metodes un paņēmieni, kurus varat izmantot dažādu SSH savienojumu diagnosticēšanai, tostarp gadījumos, kad nevarat izveidot savienojumu ar SSH, autentifikācijas kļūdas un tamlīdzīgi.

PIEZĪME: Pirms darba sākšanas pārliecinieties, vai ierīce, ar kuru vēlaties izveidot savienojumu, ir tiešsaistē un vai kļūda nav radusies tāpēc, ka ierīce nav pieejama.







1. problēma: SSH pakalpojums nedarbojas

Biežs SSH savienojuma kļūdu cēlonis ir pakalpojums, kas nedarbojas attālajā saimniekdatorā. To var izraisīt nejauša pakalpojuma izslēgšana vai pakalpojuma nesākšana pēc sistēmas restartēšanas.



Lai pārbaudītu, vai SSH pakalpojums darbojas, izmantojiet sistēmas pārvaldnieku, izmantojot komandu:



sudosystemctl statuss sshd

Iepriekš minētajai komandai jāziņo, vai pakalpojums darbojas vai nē, kā parādīts zemāk esošajos ekrānuzņēmumos.







Risinājums

Lai atrisinātu SSH problēmas, kas radušās, nedarbojoties pakalpojumam, izmantojiet sistēmu, lai sāktu pakalpojumu. Ja pakalpojums reaģē ar kļūdām, pārbaudiet žurnālus un novērsiet žurnālā norādītās problēmas.

Izmantojiet zemāk esošo komandu, lai pārbaudītu pakalpojumu žurnālus.

satvēriens 'sshd' /kur/žurnāls/auth.log

Izmantojiet zemāk esošo komandu, lai sāktu vai apturētu SSH pakalpojumu, izmantojot systemd.

sudosystemctl start sshd

2. izdevums: SSH nestandarta ostā

Otra izplatīta problēma, atkļūdojot SSH savienojumus, ir nestandarta porta izmantošana. Ja SSH darbojas citā portā, kas nav noklusējuma ports 22, jūs neizveidosit savienojumu ar attālo resursdatoru, ja vien skaidri nenorādīsit portu, kurā darbojas SSH.

Lai skatītu portu, kurā darbojas SSH, izmantojiet šādu rīku kā netstat, kā norādīts zemāk:

[simtiem@centos8 ~]$sudo netstat -ptln | satvēriens ssh
tcp0 00.0.0.0:560.0.0.0:*KLAUSIES1131/sshd
tcp60 0:::56:::*KLAUSIES1131/sshd

Iepriekš minētā izeja parāda, kurā portā darbojas SSH pakalpojums. Šajā gadījumā tā ir 56.

Risinājums

Lai atrisinātu šo problēmu, varat izmantot informāciju no netstat, lai skaidri norādītu portu ssh komandā kā:

sshlietotājvārds@ip -lpp 56

3. problēma: cits pakalpojums, kas izmanto to pašu portu

Vēl viens SSH savienojuma kļūdu cēlonis ir tas, ka cits pakalpojums vai process izmanto to pašu portu kā SSH pakalpojums. Piemēram, ja SSH ir skaidri norādīts darbam 80. portā (šausmīga ideja), tāds pakalpojums kā Apache, iespējams, izmanto to pašu portu.

Lai redzētu, vai cits process izmanto to pašu portu kā SSH, pārbaudiet žurnālus, izmantojot komandu:

sudojournalctl-tsshd

Šai komandai jāatgriež tāda kļūda, kāda parādīta zemāk, norādot, vai citā procesā tiek izmantots ar SSH saistīts ports.

sshd[110611]: kļūda: saistīt ar portu80uz 0.0.0.0 neizdevās: adrese jau iriekšāizmantot

Ir labi nodrošināt, ka porta saistīšanas kļūdu izraisa cits pakalpojums, nevis drošības pasākumi, piemēram, SELinux.

Risinājums

Lai atrisinātu šo problēmu, varat izmantot dažādus veidus. Tie ietver:

Pirmais ir saistīt SSH pakalpojumu ar citu portu. To var izdarīt, rediģējot SSH konfigurācijas failu. Piemēram, nomainiet porta ierakstu uz portu 3009, kā parādīts komandās:

sudo nano /utt/ssh/sshd_config
Osta3009

Vēl viena metode, ko varat izmantot, lai atrisinātu šo problēmu, ir pārtraukt pakalpojumu, izmantojot SSH portu. Piemēram, pārtrauciet apache pakalpojumu, izmantojot portu 80 kā:

sudosystemctl stop httpd
sudosystemctl atspējot httpd

4. jautājums: ugunsmūris

Ja esat izmēģinājis visas iepriekš minētās metodes un joprojām nav SSH savienojuma, varat pāriet uz nākamo iespējamo problēmas cēloni: ugunsmūra ierobežojumi. Atkarībā no izmantotās ugunsmūra metodes (UFW vai Iptables) jums jāpārliecinās, vai ugunsmūris atļauj SSH savienojumus.

Risinājums

Ugunsmūra noteikumi ir plaši un var atšķirties atkarībā no sistēmas konfigurācijas. Tādējādi es nevaru aptvert visus aspektus. Tomēr tālāk ir sniegts vienkāršs risinājums, lai nodrošinātu, ka SSH pakalpojums ir atļauts UFW ugunsmūrī.

sudoufw atļauties<ssh_port> /tcp

Varat arī atiestatīt visus UFW noteikumus un sākt no jauna. Tas ļaus jums novērst ugunsmūra savienojumu traucējumus no nulles.

sudoufw reset

5. problēma: paroļu pieteikšanās atspējota

Dažreiz jūs varat konfigurēt SSH nepieņemt pieteikšanās ar paroli un izmantot tikai publiskās atslēgas autentifikāciju. Tas var izraisīt problēmu, ja publiskā atslēga nav pieejama serverī vai trūkst jūsu privātās atslēgas pāra.

Lai pārbaudītu, vai paroles pieteikšanās ir atļauta, nosauciet ssh config kā:

[simtiem@centos8]$sudo satvēriensPasswordAuthentication/utt/ssh/sshd_config
#PasswordAuthentication jā
PasswordAuthentication
# Paroleautentifikācija. Atkarībā no jūsu PAM konfigurācijas
# PAM autentifikācija, tad iespējojiet šo, bet iestatiet PasswordAuthentication

Iepriekš minētais rezultāts parāda, ka paroles pieteikšanās ir atļauta.

Risinājums

Lai atrisinātu iepriekš minēto problēmu, varat izmantot divas metodes:

Pirmkārt, ja vērtība ir iestatīta uz nē, nomainiet PasswordAuthentication vērtību uz jā un restartējiet ssh pakalpojumu.

Otra metode ir izveidot ssh atslēgu un vērtību pāri un izmantot to, lai pieteiktos serverī. Lai uzzinātu, kā izveidot ssh atslēgu un vērtību pāri, izmantojiet šo rokasgrāmatu.

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

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

Secinājums

Šajā īsajā rokasgrāmatā mēs apspriedām galvenos SSH savienojuma kļūdu cēloņus un to, kā jūs varat tos novērst. Lai gan šajā rokasgrāmatā ir ietvertas bieži sastopamas problēmas, iespējams, jūs atradīsit kļūdas, kas raksturīgas jūsu sistēmai, pamatojoties uz konfigurāciju un atļaujām.