Ping funguje, ale SSH cez VPN zlyháva: ktorá fáza sa pokazila?
Jeden podrobný pokus oddelí dostupnosť TCP, prenos SSH, identitu hostiteľa, prihlásenie používateľa a oprávnenie relácie, takže prestanete hádať o tuneli.
Odpovede na ping a odmietnuté prihlásenie SSH môžu platiť súčasne a táto dvojica tunel neobviňuje. Odpovede na echo a TCP spojenie na port 22 sú rôzne testy s rôznymi selektormi, rôznymi politikami a často rôznymi cieľmi. Zachyťte jeden úmyselný pokus o SSH a potom pomenujte poslednú fázu, ktorú dosiahol. Ten jediný artefakt nahrádza tucet špekulatívnych zmien konfigurácie.
Zachyťte jeden pokus, nie reláciu šťuchania
Spustite klienta raz s podrobnou diagnostikou, vypnutým zdieľaním pripojenia a obmedzeným časovým limitom pripojenia. Vypnutie zdieľania je dôležité, pretože skôr overené hlavné pripojenie inak odpovie za nový pokus a skryje poruchu, ktorú hľadáte.
ssh -4 -vv -o ControlPath=none -o ConnectTimeout=10 [email protected]
Zachovajte cieľ, rodinu adries, časovú pečiatku a poslednú neutajenú chybu. Príznak IPv4 tiež znamená, že tento pokus nič nehovorí o ceste IPv6 k rovnakému názvu, takže z neho nezovšeobecňujte. Zaznamenajte, odkiaľ bol pokus vykonaný. Kontrola na bráne VPN nie je rovnaký pohľad ako notebook za ňou a väčšina rozporov v týchto tiketoch pochádza z miešania oboch.
Prvá a druhá fáza: TCP pred SSH
Prvou hranicou je dostupnosť socketu: adresa, port a trasa, ktorou paket skutočne ide. Ak sa TCP spojenie nikdy nedokončí, nič nad ním ešte neexistuje a kľúče hostiteľa a účty sú irelevantné.
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'
Prepojte záznam s pokusom klienta. Odchádzajúci SYN a nič, čo sa vráti, ukazuje na filtrovanie, selektory alebo chýbajúcu trasu na druhej strane; odpoveď s resetom ukazuje na niečo, čo aktívne odmieta, namiesto toho, aby zahadzovalo. Druhou hranicou je samotná výmena protokolu SSH. TCP spojenie, ktoré sa dokončí a potom uviazne, prekročilo dostupnosť a vstúpilo do vyjednávania, odpovede servera alebo spracovania paketov. To je iné vyšetrovanie a práve tam sa problémy súvisiace s veľkosťou stanú prvýkrát pravdepodobnými.
Tretia fáza: čí kľúč odpovedal
Keď je prenos nahor, klient overí kľúč hostiteľa servera. Odmietnutie tu je tvrdenie o identite, nie o kryptografii: partner predložil kľúč, ktorý vaša politika neprijíma. Berte to ako podmienku zastavenia a overte mimo pásma, cez konzolu alebo operátora, ktorý hostiteľa prestavil. Vymazanie zapamätanej položky na odstránenie varovania je jediná skratka, ktorú treba odmietnuť, pretože ničí dôkaz, že niečo odpovedalo neočakávane.
Ak bol hostiteľ skutočne prestavaný, odstráňte zastaraný záznam až po potvrdení novej odtlačky a poznamenajte dátum a dôvod. Ďalší inžinier narazí na rovnaké varovanie a potrebuje tento kontext.
Štvrtá a piata fáza: účet verzus oprávnenie
Overenie je štvrtou hranicou. Odmietnuté prihlasovacie údaje znamenajú, že server pokus vyhodnotil a odmietol; skontrolujte účet, typ prihlasovacích údajov, ktorý server prijíma, a vlastnú politiku servera, nie heslo VPN. Piatou hranicou je autorizácia po úspešnom prihlásení. Overenému používateľovi možno stále odoprieť shell, príkaz, podsystém alebo presmerovanie, a tieto odmietnutia vyzerajú ako poruchy pre niekoho, kto číta len posledný riadok klienta.
| 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 |
Po niekoľkých neúspešných pokusoch o heslo prestaňte. Opakované hádanie vytvára uzamknutia, ktoré potom vyzerajú ako druhá, nesúvisiaca porucha, a stoja viac času ako pôvodný tiket.
Vrátenie späť a záznam, ktorý si vediete
Meňte jednu vec naraz a pred opätovným testovaním zapíšte, čo ste zmenili. Ak zmena pokus zhorší, okamžite ju vráťte, namiesto toho, aby ste navršovali ďalšiu opravu. Zopakujte pôvodnú operáciu z pôvodného klienta a kontextu. Úspešné prihlásenie z iného stroja, v inej rodine adries, nie je reprodukcia a nepreukazuje opravu.
Vyčistite, čo zdieľate. Podrobný výstup klienta môže niesť interné názvy, označenia účtov, cesty ku kľúčom a identifikátory verejných kľúčov, preto zverejnite záver po fázach, nie surovú stopu.