El ping funciona però l'SSH falla per la VPN: quina etapa s'ha trencat?
Un sol intent detallat separa l'abastabilitat TCP, el transport SSH, la identitat de l'amfitrió, l'inici de sessió de l'usuari i el permís de sessió, perquè deixis de fer conjectures sobre el túnel.
Les respostes de ping i un inici de sessió SSH rebutjat poden ser certs alhora, i el parell no incrimina el túnel. Les respostes d'eco i una connexió TCP al port 22 són proves diferents amb selectors diferents, polítiques diferents i sovint destinacions diferents. Captura un intent SSH deliberat i després anomena l'última etapa que va assolir. Aquest únic artefacte substitueix una dotzena de canvis de configuració especulatius.
Captura un intent, no una sessió de tocades
Executa el client una vegada amb diagnòstics detallats, compartició de connexions desactivada i un temps d'espera de connexió limitat. Desactivar la compartició importa perquè una connexió mestre autenticada prèviament respondrà per l'intent nou i amagarà la fallada que persegueixes.
ssh -4 -vv -o ControlPath=none -o ConnectTimeout=10 [email protected]
Conserva la destinació, la família d'adreces, la marca de temps i l'error final no secret. El senyalador IPv4 també vol dir que aquest intent no diu res sobre un camí IPv6 cap al mateix nom, així que no generalitzis a partir d'ell. Anota des d'on es va fer l'intent. Una comprovació feta a la passarel·la VPN no és el mateix punt de vista que un portàtil al darrere, i la majoria de contradiccions en aquests tiquets vénen de barrejar les dues.
Etapes primera i segona: TCP abans d'SSH
La primera frontera és l'abastabilitat del sòcol: una adreça, un port i una ruta que el paquet segueix de debò. Si la connexió TCP no s'arriba a completar mai, encara no existeix res per sobre, i les claus d'amfitrió i els comptes són irrellevants.
nc -vz 10.90.4.20 22
ip route get 10.90.4.20
tcpdump -ni any 'host 10.90.4.20 and port 22'
Correlaciona la captura amb l'intent del client. Un SYN que surt i no torna res apunta a filtratge, selectors o una ruta absent a l'altre costat; una resposta amb un reset apunta a alguna cosa que rebutja activament en lloc de descartar. La segona frontera és l'intercanvi del protocol SSH mateix. Una connexió TCP que es completa i després s'encalla ha passat l'abastabilitat i ha entrat en negociació, resposta del servidor o gestió de paquets. Això és una investigació diferent, i és on els problemes relacionats amb la mida esdevenen plausibles per primera vegada.
Etapa tercera: quina clau va respondre
Quan el transport està aixecat, el client verifica la clau d'amfitrió del servidor. Un rebuig aquí és una afirmació sobre la identitat, no sobre la criptografia: el parell ha presentat una clau que la teva política no accepta. Tracta-ho com una condició d'aturada i verifica fora de banda, contra la consola o l'operador que va reconstruir l'amfitrió. Esborrar l'entrada recordada per fer desaparèixer l'avís és l'únic drecera que cal rebutjar, perquè destrueix l'evidència que alguna cosa va respondre inesperadament.
Si l'amfitrió realment es va reconstruir, elimina el registre obsolet només després que es confirmi la nova empremta, i anota la data i el motiu. El proper enginyer trobarà el mateix avís i necessita aquest context.
Etapes quarta i cinquena: compte versus permís
L'autenticació és la quarta frontera. Unes credencials rebutjades volen dir que el servidor va avaluar l'intent i el va refusar; revisa el compte, el tipus de credencial que accepta el servidor i la política pròpia del servidor, no la contrasenya de la VPN. La cinquena frontera és l'autorització després d'un inici de sessió correcte. Un usuari autenticat encara pot rebre una negativa a un shell, una ordre, un subsistema o un reenviament, i aquestes negatives semblen fallades a qui només llegeix l'última línia del client.
| Last stage reached | What it proves | Where to look next |
|---|---|---|
| No TCP connection | No SSH transport exists | Address, port, route, selectors, filter, listener |
| TCP up, exchange incomplete | Reachability is not the blocker | Server response, negotiation, packet handling |
| Host identity rejected | The peer is not the expected host | Independently verified host key |
| User authentication rejected | The attempt reached authentication | Account, credential and server policy |
| Authenticated, session denied | Login succeeded, the operation did not | Shell, command or forwarding permission |
Atura't després d'un parell d'intents de contrasenya fallits. Les conjectures repetides produeixen bloquejos que després semblen una segona fallada no relacionada i costen més temps que el tiquet original.
Reversió i el registre que guardes
Canvia una cosa alhora i anota què has canviat abans de tornar a provar. Si un canvi empitjora l'intent, reverteix-lo immediatament en lloc d'apilar una altra correcció a sobre. Repeteix l'operació original des del client i el context originals. Un inici de sessió correcte des d'una altra màquina, en una altra família d'adreces, no és una reproducció i no demostra la correcció.
Saneja el que comparteixes. La sortida detallada del client pot portar noms interns, etiquetes de compte, rutes de claus i identificadors de claus públiques, així que publica la conclusió per etapes en lloc d'un rastre cru.