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.10Identifică 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 TCP | Adresă, rută, firewall-ul furnizorului și al sistemului |
| Connection refused | Portul real, serviciul care ascultă și regulile de respingere |
| Permission denied (publickey) | Utilizator, cheia oferită și authorized_keys |
| REMOTE HOST IDENTIFICATION HAS CHANGED | Identitatea 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-pagerCompară 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_keysIdentitiesOnly 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 sha256Compară 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.