Errors de connexió SSH al teu Ubuntu VPS
Quan falla SSH, utilitza el missatge per decidir què comprovar. Separa xarxa, servei, autenticació i identitat del host, conservant les sessions que encara funcionen.
VPSuntu · Actualització: · Lectura: uns 5 min
Contingut de la guia
Registra un intent i conserva l’accés
Mantén oberta qualsevol sessió que funcioni i localitza la consola de recuperació. Les ordres client s’executen al teu ordinador Linux, macOS o WSL; les del servidor, a través d’accés existent o consola autenticada. No enganxis ordres del servidor al terminal local.
Canvia 203.0.113.10, ubuntu, port 22 i ruta de clau pels valors reals. La IP és un exemple reservat per a documentació. Mostra els ajustos efectius i fes un intent nou:
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.10Revisa hostname, user, port, identityfile i proxy. La segona ordre desactiva la reutilització de connexió per a aquest intent. Anota hora i error final. Verifica qualsevol host key nou segons el seu apartat. Abans de compartir debug, oculta usuaris, adreces i rutes; mai no comparteixis claus privades.
Tria la branca segons el missatge
En pantalles petites, desplaça la taula lateralment per veure totes les columnes.
| Missatge o fase | Què indica | Comprovació següent |
|---|---|---|
| Connection timed out abans d’establir connexió | TCP no ha completat | Adreça, rutes, tallafocs i estat del proveïdor |
| Connection refused | Rebuig actiu en aquella IP i port | Port esperat, listener i regles de rebuig |
| Permission denied (publickey) | S’ha arribat a autenticació, però fallen credencials | Usuari, clau oferta i política |
| REMOTE HOST IDENTIFICATION HAS CHANGED | La identitat difereix de la desada | Verifica el host per una via fiable |
Això acota causes, no en demostra una de sola. Si el debug diu Connection established abans del timeout, investiga handshake i registres SSH, no pressuposis que tots els paquets estan bloquejats.
Timeout: segueix el camí de xarxa
Compara la destinació de ssh -v amb la IP actual al panell. DNS antic o una IPv6 diferent poden dur a un altre lloc. Confirma si cal IP pública, VPN o jump host.
Comprova instància activa i rutes públiques. Al tallafoc del proveïdor, revisa port SSH real i IP pública d’origen actual: pot haver canviat mentre la regla /32 continua igual. Examina també el tallafoc guest des de consola.
En Oracle importen security lists, NSG, rutes i tallafoc guest. Conserva les regles de la imatge: instal·lar UFW o buidar iptables no és diagnòstic. La guia Oracle explica la xarxa. Un ping fallit no prova per si sol que SSH sigui inaccessible.
Connexió rebutjada: inspecciona el servei
Un rebuig no autentica la destinació com el teu VPS. Confirma identitat i port, i executa aquestes lectures al servidor per consola o accés existent:
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-pagerBusca un listener al port i adreça esperats i correlaciona registres amb l’intent. Ubuntu pot utilitzar socket activation: ssh.service inactiu no demostra indisponibilitat si ssh.socket escolta.
sshd -t comprova configuració i claus de host sense iniciar el daemon. Èxit silenciós no acredita xarxa accessible. Si informa d’error, localitza fitxer o ajust abans de recarregar; no reiniciïs a cegues.
Clau rebutjada: comprova usuari i identitat
Fes servir el compte inicial del proveïdor o un administrador que hagis creat. Busca l’empremta oferta al debug. Per limitar claus d’agent no relacionades, prova localment:
ssh -v -S none -o IdentitiesOnly=yes -o StrictHostKeyChecking=ask -p 22 -i ~/.ssh/ubuntu_vps ubuntu@203.0.113.10Les entrades IdentityFile configurades encara poden aplicar-se; inspecciona ssh -G. Si la clau és il·legible o té permisos massa oberts, corregeix primer el fitxer local.
Al servidor, comprova el compte i les claus autoritzades. L’exemple assumeix /home/ubuntu: substitueix-lo pel directori retornat per getent.
getent passwd ubuntu
sudo ls -ld /home/ubuntu /home/ubuntu/.ssh /home/ubuntu/.ssh/authorized_keys
sudo ssh-keygen -lf /home/ubuntu/.ssh/authorized_keysCompara empremtes i revisa journal per a propietari, permisos o polítiques del compte. Examina AuthorizedKeysFile, includes i Match si no s’usa la ruta estàndard. Serveis de claus gestionats pel proveïdor poden canviar el mecanisme. Conserva les claus existents; no desactivis StrictModes ni activis contrasenyes per amagar el problema.
Identitat canviada: verifica abans de connectar
Una reconstrucció o IP reassignada pot canviar la clau, però un canvi inesperat pot indicar un endpoint erroni o intercepció. Confirma l’ID i la reconstrucció prevista al panell autenticat.
Des de consola fiable del convidat, consulta la clau pública de host de l’algoritme indicat. Per a Ed25519:
sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub -E sha256Compara SHA256 amb l’avís client. És la clau del servidor, no la d’inici de sessió ni la passarel·la de consola. Si la substitució és verificada, actualitza només l’entrada corresponent, amb còpia prèvia de known_hosts i preservant les altres. No eliminis tot el fitxer ni ometis comprovacions. Si el canvi no s’explica, atura la connexió i investiga.
Valida la correcció amb una sessió nova
Corregeix la IP, usuari, clau, regla estreta o error de configuració identificat. Conserva una via independent durant canvis i valida SSH abans d’aplicar-los. Un port nou també pot requerir ajustar socket activation, no només reiniciar un servei.
Repeteix l’intent sense connection sharing. Confirma usuari esperat i sudo necessari. Una sessió antiga oberta no és aquesta prova. Anota causa i canvi, i reprèn la configuració Ubuntu VPS.
Preguntes freqüents
Cal reinstal·lar Ubuntu per arreglar SSH?
Diagnostica primer. Una IP, un usuari o una clau equivocats no exigeixen reinstal·lar, i fer-ho pot destruir dades. Si no queda accés, segueix la recuperació del proveïdor.
Una consola funcional demostra que SSH hauria de funcionar?
No. La consola i l’SSH públic segueixen camins diferents. El listener, l’autenticació i les regles de xarxa encara han d’admetre la connexió.