Ping deluje, a SSH prek VPN ne uspe: katera stopnja se je zlomila?
En sam podroben poskus loči dosegljivost TCP, transport SSH, identiteto gostitelja, prijavo uporabnika in dovoljenje seje, da prenehate ugibati o tunelu.
Odgovori ping in zavrnjena prijava SSH so lahko resnični hkrati, in ta par ne obtožuje tunela. Odgovori odmeva in povezava TCP na vrata 22 so različni testi z različnimi selektorji, različnimi pravilniki in pogosto različnimi cilji. Zabeležite en nameren poskus SSH in nato poimenujte zadnjo stopnjo, ki jo je dosegel. Ta en sam artefakt nadomesti ducat špekulativnih sprememb konfiguracije.
Zabeležite en poskus, ne seje drezanja
Zaženite odjemalca enkrat s podrobno diagnostiko, izklopljenim souporabo povezave in omejenim časom povezovanja. Izklop souporabe je pomemben, ker bi se sicer prej overjena glavna povezava odzvala namesto novega poskusa in skrila okvaro, ki jo zasledujete.
ssh -4 -vv -o ControlPath=none -o ConnectTimeout=10 [email protected]
Shranite cilj, družino naslovov, časovni žig in zadnjo nejavno napako. Zastavica IPv4 pomeni tudi, da ta poskus ne pove ničesar o poti IPv6 do istega imena, zato iz njega ne posplošujte. Zapišite, od kod je bil poskus izveden. Preverjanje na prehodu VPN ni isto gledišče kot prenosnik za njim, in večina protislovij v teh zahtevkih izhaja iz mešanja obeh.
Prva in druga stopnja: TCP pred SSH
Prva meja je dosegljivost vtičnice: naslov, vrata in pot, po kateri paket dejansko potuje. Če se povezava TCP nikoli ne vzpostavi, nad njo še ni ničesar, ključi gostitelja in računi pa so nepomembni.
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'
Povežite posnetek s poskusom odjemalca. Odhodni SYN in nič, kar se ne vrne, kaže na filtriranje, selektorje ali manjkajočo pot na drugi strani; odgovor s ponastavitvijo kaže na nekaj, kar aktivno zavrača, namesto da bi spustilo. Druga meja je sama izmenjava protokola SSH. Povezava TCP, ki se vzpostavi in nato obtiči, je presegla dosegljivost in vstopila v pogajanja, odgovor strežnika ali obdelavo paketov. To je druga preiskava, in tam težave, povezane z velikostjo, prvič postanejo verjetne.
Tretja stopnja: čigav ključ je odgovoril
Ko je transport vzpostavljen, odjemalec preveri ključ gostitelja strežnika. Zavrnitev tukaj je izjava o identiteti, ne o kriptografiji: partner je predstavil ključ, ki ga vaš pravilnik ne sprejema. Obravnavajte to kot pogoj za ustavitev in preverite zunaj pasu, prek konzole ali operaterja, ki je gostitelja znova zgradil. Brisanje shranjene vrstice za odstranitev opozorila je edina bližnjica, ki jo je treba zavrniti, ker uniči dokaz, da je nekaj odgovorilo nepričakovano.
Če je bil gostitelj res znova zgrajen, odstranite staro evidenco šele po potrditvi novega prstnega odtisa in zapišite datum ter razlog. Naslednji inženir bo naletel na isto opozorilo in potrebuje ta kontekst.
Četrta in peta stopnja: račun proti dovoljenju
Preverjanje pristnosti je četrta meja. Zavrnjene poverilnice pomenijo, da je strežnik poskus ocenil in ga zavrnil; preverite račun, vrsto poverilnic, ki jih strežnik sprejema, in lastni pravilnik strežnika, ne gesla VPN. Peta meja je pooblastitev po uspešni prijavi. Overjenemu uporabniku je lahko še vedno zavrnjena lupina, ukaz, podsistem ali posredovanje, in te zavrnitve izgledajo kot okvare za nekoga, ki bere le zadnjo vrstico odjemalca.
| 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 |
Ustavite se po nekaj neuspešnih poskusih gesla. Ponavljajoče ugibanje ustvari zaklepe, ki nato izgledajo kot druga, nepovezana okvara, in stane več časa kot prvotna zahteva.
Razveljavitev in evidenca, ki jo hranite
Spremenite eno stvar naenkrat in pred ponovnim testiranjem zapišite, kaj ste spremenili. Če sprememba poskus poslabša, jo takoj razveljavite, namesto da bi nalagali še en popravek. Ponovite prvotno operacijo iz prvotnega odjemalca in konteksta. Uspešna prijava z drugega računalnika, v drugi družini naslovov, ni reprodukcija in ne dokazuje popravka.
Očistite, kar delite. Podroben izhod odjemalca lahko nosi interne nazive, oznake računov, poti do ključev in identifikatorje javnih ključev, zato objavite stopenjski sklep namesto surove sledi.