Cum să remediați eroarea Permisiunea refuzată (Taie publică)

Publicat: 2024-01-10
Cuprins
  • De ce contează
  • Elementele de bază ale conexiunilor securizate la computer
  • Cheia de blocare: chei publice
  • De ce se întâmplă această eroare?
  • Cum se remediază
  • Sfaturi suplimentare dacă încă nu funcționează
  • Păstrând-o să funcționeze fără probleme
  • Întrebări frecvente
  • Alte resurse
  • Încheierea

Ați întâlnit vreodată mesajul „Eroare: Permisiune refuzată (Tasta publică)” în timp ce utilizați computerul? Aceasta este o eroare comună care apare de obicei în timpul conexiunilor SSH, care este un mod în care computerele vorbesc în siguranță între ele.

Gândiți-vă la asta ca la încercarea de a folosi o cheie care nu se potrivește cu încuietoarea. Când vedeți această eroare, înseamnă că computerul dvs. întâmpină probleme la crearea unei legături securizate cu un alt computer, deoarece ceva din configurația de securitate nu se potrivește.

Cum să remediați eroarea: permisiunea refuzată (taie publică)

De ce contează

Conexiunile securizate, precum cele realizate cu SSH, sunt ca și cum ați avea o conversație privată într-o cameră zgomotoasă. Nu ați dori ca toată lumea să audă, mai ales dacă împărtășiți secrete sau informații personale, nu? De aceea este atât de importantă remedierea acestei erori.

Păstrează conversațiile computerului dvs. private și securizate, asigurându-se că informațiile sensibile precum parolele rămân confidențiale.

Elementele de bază ale conexiunilor securizate la computer

Să ne aprofundăm în ce este SSH.

SSH înseamnă Secure Shell și este o modalitate specială prin care computerele pot vorbi între ele prin internet într-un mod super sigur. Imaginați-vă SSH ca un tunel special, privat, care conectează două computere.

Doar acele două computere își pot trimite mesaje unul altuia prin acest tunel, păstrându-și conversația în siguranță de interceptări.

Cheia de blocare: chei publice

Pentru a securiza acest tunel, SSH folosește ceva numit „autentificare cu cheie publică”. Este ca și cum ai avea o parolă specială, dar sub forma unei chei. Computerul dvs. are o cheie unică (numită cheie publică) pe care o partajează cu celălalt computer.

Gândește-te la asta ca la o strângere de mână secretă. Dacă strângerea de mână nu se potrivește, conexiunea nu va avea loc și atunci vedeți mesajul „Eroare: Permisiune refuzată (taie publică)” .

De ce se întâmplă această eroare?

Deci, de ce vedeți această eroare? Există câteva motive comune:

  1. Probleme cheie: uneori, eroarea se întâmplă deoarece există ceva în neregulă cu configurarea cheii speciale. Poate că cheia de pe computer nu se potrivește cu cea de pe computerul cu care încercați să vorbiți. Este ca și cum ai încerca să potriviți un cuier pătrat într-o gaură rotundă – pur și simplu nu va funcționa.
  2. Setări greșite: Alteori, setările sau permisiunile de pe computer pot fi configurate incorect. Acest lucru vă poate împiedica computerul să folosească cheia în mod corespunzător, cum ar fi dacă aveți cheia potrivită, dar nu o puteți întoarce în lacăt.

Cum se remediază

Acum că înțelegeți puțin de ce se întâmplă această eroare, să vorbim despre cum să o remediați. Iată câțiva pași pe care îi puteți urma:

Verificați permisiunile cheii SSH:

Setați permisiunile corecte pentru cheia dvs. privată.

 chmod 600 ~/.ssh/id_rsa chmod 600 ~/.ssh/autorized_keys

Asigurați-vă că cheia dvs. publică este în ~/.ssh/authorized_keys pe server. Dacă nu, adăugați-l folosind:

cat ~/.ssh/id_rsa.pub | ssh user@hostname 'cat >> ~/.ssh/authorized_keys'.

Depanarea conexiunii SSH

Rulați ssh -vvv user@hostname pentru a activa modul verbose, oferind diagnostice detaliate ale conexiunii.

Verificați pe server configurațiile corecte, în special pentru PasswordAuthentication și PubkeyAuthentication .

cat etc/ssh/sshd_config

Soluții suplimentare:

Verificați de două ori dacă utilizați numele de utilizator corect pentru conexiunea SSH.

Reporniți serviciul SSH pentru a reîmprospăta conexiunile.

 sudo systemctl restart sshd

Verificați portul de conexiune SSH în fișierul de configurare SSH. Valoarea implicită este de obicei 22, dar este posibil să fi fost modificată.

verificați portul ssh

Verificați jurnalele de server, cum ar fi /var/log/auth.log sau /var/log/secure, pentru detalii despre eroare.

Sfaturi suplimentare dacă încă nu funcționează

Dacă ați încercat acești pași și încă vedeți eroarea, iată câteva lucruri de încercat:

  1. Modul vorbire: activați modul pronunțat în SSH. Este ca și cum ai cere computerului să-ți dea mai multe indicii despre ce nu merge bine. Faceți acest lucru adăugând -vvv la comanda dvs. SSH, cum ar fi ssh -vvv [email protected] . Vă va oferi mai multe detalii despre ceea ce se întâmplă atunci când încercați să vă conectați.
  2. Probleme cu agentul: Uneori, problema ar putea fi cu agentul SSH, un instrument care vă deține cheile. Dacă agentul nu funcționează corect, cheile dvs. nu vor fi prezentate corect. Repornirea agentului SSH poate ajuta uneori.

Păstrând-o să funcționeze fără probleme

Pentru a evita întâlnirea cu această eroare în viitor, iată câteva sfaturi pentru ca totul să funcționeze bine:

  1. Îngrijirea cheilor: Tratează-ți cheile SSH ca și cum ai face cu o cheie a casei. Păstrați-le în siguranță și nu le împărtășiți altora. Verificați în mod regulat dacă încă funcționează așa cum ar trebui.
  2. Verificări regulate: la fel cum v-ați verifica în mod regulat mașina sau casa pentru orice problemă, faceți același lucru cu setările SSH. Asigurați-vă că setările nu s-au schimbat în mod neașteptat și că cheile sunt actualizate.

Întrebări frecvente

Cum configurez autentificarea cu cheie publică în SSH?

Pentru a configura autentificarea cu chei publice în SSH, mai întâi generați o pereche de chei SSH pe mașina dvs. locală folosind o comandă precum ssh-keygen . Aceasta creează o cheie privată ( id_rsa ) și o cheie publică ( id_rsa.pub ). Apoi, copiați cheia publică în fișierul ~/.ssh/authorized_keys al serverului folosind ssh-copy-id user@server_ip . Asigurați-vă că fișierul authorized_keys are permisiunile corecte (de obicei 600) pentru securitate. Această configurare permite SSH să utilizeze autentificarea bazată pe chei în loc de parole.

Care sunt cauzele comune pentru eroarea „Permisiunea SSH refuzată (taie publică)”?

  • Cauzele comune ale acestei erori includ:
  • Permisiuni incorecte pentru fișierele cheie SSH. Cheia privată ar trebui să poată fi citită numai de utilizator (600).
  • Configurare greșită în fișierele de configurare SSH ( sshd_config sau ssh_config ).
  • Software-ul client sau server SSH învechit care este posibil să nu accepte protocoalele de autentificare actuale.
  • Firewall sau software de securitate care blochează porturile sau conexiunile SSH.
  • Configurați incorect cheia publică în fișierul authorized_keys sau folosiți un nume de utilizator greșit pentru conexiunea SSH.

Cum pot verifica dacă cheia mea SSH a fost adăugată corect pe server?

Pentru a verifica, conectați-vă la server și verificați fișierul ~/.ssh/authorized_keys . Cheia dvs. publică ar trebui să fie listată acolo. De asemenea, puteți testa conexiunea încercând să faceți SSH pe server. Dacă nu cere o parolă, cheia a fost adăugată corect.

De ce este important să restricționați permisiunile pentru fișierele cheie SSH?

Restricționarea permisiunilor pentru fișierele cheie SSH este crucială pentru securitate. Dacă alții vă pot citi cheia privată, pot accesa serverele dvs. Păstrarea în siguranță a cheii private vă asigură că numai dvs. o puteți utiliza pentru autentificare.

Modificările în configurația SSH a serverului pot duce la erori „Permisiune refuzată”?

Da, modificările în fișierul de configurare SSH al serverului ( etc/ssh/sshd_config ) pot duce la astfel de erori. De exemplu, dacă PubkeyAuthentication este setat la no , serverul nu va accepta autentificarea cu cheie publică, ceea ce duce la o eroare de refuzare a permisiunii.

Ce ar trebui să fac dacă clientul meu SSH este învechit?

Dacă clientul dvs. SSH este învechit, este posibil ca acesta să nu accepte metode de autentificare mai noi sau să aibă vulnerabilități de securitate nepatificate. Este important să vă actualizați clientul SSH la cea mai recentă versiune disponibilă pentru sistemul dvs. de operare.

Cum afectează firewall-urile conexiunile SSH?

Firewall-urile pot bloca conexiunile SSH dacă sunt configurate pentru a restricționa accesul la portul SSH (implicit este 22). Asigurați-vă că firewall-ul permite traficul pe portul utilizat pentru SSH pentru a preveni problemele de conexiune.

Alte resurse

Cum se instalează Sendmail în Linux 2024 (pas cu pas)

Comenzi Linux de bază pentru DevOps (manual)

Încheierea

În acest articol, am explorat ce cauzează „Eroarea: Permisiune refuzată (Taie publică)” și cum să o remediam. Amintiți-vă, această eroare este ca o cheie care nu se potrivește cu o lacăt - înseamnă de obicei că există ceva în legătură cu modul în care sunt configurate sau utilizate cheile dvs. SSH. Urmând pașii pe care i-am subliniat, ar trebui să puteți rezolva problema și să reveniți la conversații sigure cu alte computere.