Ghid practic / Diagnostic SSH

Probleme de conexiune SSH: pornește de la mesajul de eroare

Pentru probleme de conexiune SSH, începe cu mesajul exact și momentul în care apare. Păstrează orice sesiune funcțională și pregătește consola furnizorului. Adresa, rețeaua, serviciul, cheia utilizatorului și identitatea gazdei se verifică separat.

· Actualizat: · Aproximativ 4 min de lectură

Cuprinsul ghidului

Înregistrează o încercare de conectare

Notează ora, adresa, portul, utilizatorul și cheia folosită. Compară adresa publică cu panoul furnizorului. Pe calculator rulează diagnosticul cu valorile reale în locul celor de documentație:

ssh -G -p 22 -i ~/.ssh/ubuntu_vps ubuntu@203.0.113.10
ssh -v -S none -o ConnectTimeout=10 -o StrictHostKeyChecking=ask -p 22 -i ~/.ssh/ubuntu_vps ubuntu@203.0.113.10

Identifică primul eșec și etapa anterioară. Verifică jurnalul înainte să îl distribui: poate arăta conturi, căi și adrese. Nu trimite cheia privată.

Alege ramura după eroare

Derulează tabelul pe orizontală pentru a vedea toate coloanele.

Mesaj sau etapăPunct de plecare
Connection timed out înainte de TCPAdresă, rută, firewall-ul furnizorului și al sistemului
Connection refusedPortul real, serviciul care ascultă și regulile de respingere
Permission denied (publickey)Utilizator, cheia oferită și authorized_keys
REMOTE HOST IDENTIFICATION HAS CHANGEDIdentitatea gazdei verificată printr-o cale independentă

Dacă TCP s-a conectat și negocierea se oprește ulterior, problema nu se află în aceeași etapă cu un timeout înainte de conectare. Folosește ieșirea -vvv pentru a evita schimbări de firewall fără legătură cu eșecul.

Timeout: urmărește traseul rețelei

Confirmă instanța pornită și IPv4 actual. Verifică ruta, portul și sursa /32 atunci când SSH este restricționat la conexiunea ta; un VPN sau o reconectare poate schimba adresa publică. Inspectează fiecare listă de securitate și NSG aplicabilă.

Prin consolă verifică rețeaua sistemului invitat. Nu goli regulile și nu deschide toate porturile ca prim test. Pe Ubuntu în OCI păstrează configurația imaginii și iSCSI; activarea UFW nu este un remediu universal.

Refuz: verifică ascultarea și configurația

Dintr-o sesiune disponibilă sau din consola serverului verifică serviciul și porturile:

systemctl status ssh.service ssh.socket --no-pager
sudo ss -lntp
sudo /usr/sbin/sshd -t
sudo journalctl -u ssh.service -u ssh.socket --since '15 minutes ago' --no-pager

Compară portul și adresa de ascultare cu încercarea clientului. Unele imagini folosesc activare prin socket: o stare inactivă pentru ssh.service nu dovedește singură lipsa serviciului.

sshd -t validează configurația, nu accesibilitatea din internet. Corectează cauza identificată în jurnal înainte de reîncărcare și păstrează o cale alternativă de administrare.

Cheie respinsă: verifică utilizatorul și identitatea oferită

Utilizatorul depinde de imagine. Ubuntu pe OCI folosește ubuntu; dreptul sudo nu înseamnă automat că te conectezi ca root. Verifică utilizatorul documentat de furnizor.

Pe calculator compară amprenta cheii publice și identitățile încărcate:

ssh -v -S none -o IdentitiesOnly=yes -o StrictHostKeyChecking=ask -p 22 -i ~/.ssh/ubuntu_vps ubuntu@203.0.113.10

Încearcă identitatea intenționată explicit:

getent passwd ubuntu
sudo ls -ld /home/ubuntu /home/ubuntu/.ssh /home/ubuntu/.ssh/authorized_keys
sudo ssh-keygen -lf /home/ubuntu/.ssh/authorized_keys

IdentitiesOnly limitează identitățile la cele configurate, dar nu elimină automat toate liniile IdentityFile din configurația clientului. Urmărește cheia efectiv oferită în -vvv.

Pe server verifică cheia publică în authorized_keys al contului corect, proprietarul și permisiunile. Păstrează cheile altor administratori; nu suprascrie întregul fișier. Nu dezactiva StrictModes și nu deschide autentificarea cu parolă doar pentru a ocoli diagnosticul.

Identitate schimbată: verifică înainte să accepți

Reinstalarea sau realocarea unei adrese poate explica schimbarea, dar trebuie confirmată. Din consola de încredere a instanței corecte citește cheia de gazdă:

sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub -E sha256

Compară algoritmul și SHA256 cu solicitarea clientului. Cheia gateway-ului consolei nu este obligatoriu aceeași cu cheia SSH a sistemului invitat. ssh-keyscan, folosit singur prin rețea, nu este dovadă independentă.

După confirmare actualizează numai înregistrarea acelei gazde în known_hosts. Nu șterge tot fișierul și nu dezactiva StrictHostKeyChecking. Dacă amprenta nu corespunde, nu continua conexiunea.

Validează corecția într-o sesiune nouă

Deschide o conexiune nouă de pe calculator și verifică drepturile necesare înainte să închizi sesiunea veche. Notează cauza, schimbarea, adresa și portul pentru un incident ulterior.

Dacă trebuie reconstruit sistemul, verifică recuperarea datelor înainte de reinstalare. După revenirea accesului poți continua configurarea site-ului.

Comenzile inspectează starea sau încearcă o conexiune. Orice corecție trebuie adaptată configurației observate, păstrând accesul de recuperare; nu au fost rulate pe serverul tău.

Întrebări frecvente

Trebuie reinstalat Ubuntu pentru o eroare SSH?

Diagnostichează mai întâi. O adresă, un cont sau o cheie greșită nu cere reinstalare, iar aceasta poate elimina datele.

Dacă funcționează consola, ar trebui să funcționeze și SSH?

Consola și SSH public urmează trasee diferite. Portul, autentificarea și regulile de rețea trebuie verificate separat.

Șterg known_hosts când apare o cheie nouă?

Confirmă schimbarea printr-o cale de încredere, apoi actualizează doar înregistrarea gazdei vizate.

Următorul pas util

Compară resursele și recuperarea împreună.

Folosește cerințele proiectului pentru a verifica oferta și condițiile furnizorului.

Compară serverele

Link de afiliere · Verifică oferta actuală înainte de comandă.