Ping töötab, aga SSH ei tööta VPN-i kaudu: milline etapp katki läks?
Üks üksikasjalik katse eraldab TCP kättesaadavuse, SSH transpordi, hosti identiteedi, kasutaja sisselogimise ja sessiooni loa, et te lõpetaksite tunneli kohta oletamise.
Pingi vastused ja tagasilükatud SSH-sisselogimine võivad mõlemad korraga tõesed olla ning see paar ei süüdista tunnelit. Kaja vastused ja TCP-ühendus pordile 22 on erinevad testid erinevate valijatega, erinevate poliitikatega ja sageli erinevate sihtkohtadega. Jäädvustage üks sihilik SSH-katse ja nimetage seejärel viimane etapp, milleni see jõudis. See üks artefakt asendab tosinat spekulatiivset konfiguratsioonimuudatust.
Jäädvustage üks katse, mitte torkimiste sessioon
Käivitage klient üks kord üksikasjaliku diagnostikaga, ühenduse jagamine välja lülitatud ja piiratud ühenduse ajalõpuga. Jagamise väljalülitamine on oluline, sest varem autenditud põhiühendus vastab muidu uue katse eest ja peidab tõrke, mida te jälitate.
ssh -4 -vv -o ControlPath=none -o ConnectTimeout=10 [email protected]
Hoidke alles sihtkoht, aadressiperekond, ajatempel ja viimane mitte-salajane viga. IPv4-lipp tähendab ka seda, et see katse ei ütle midagi sama nime IPv6-tee kohta, seega ärge üldistage sellest. Märkige üles, kust katse tehti. VPN-i lüüsil tehtud kontroll ei ole sama vaatepunkt kui selle taga olev sülearvuti, ja enamik nendes piletites esinevaid vasturääkivusi tuleb kahe segamise tõttu.
Esimene ja teine etapp: TCP enne SSH-d
Esimene piir on pistiku kättesaadavus: aadress, port ja marsruut, mida pakett tegelikult järgib. Kui TCP-ühendus ei saa kunagi valmis, ei ole selle kohal veel midagi olemas ning hosti võtmed ja kontod on asjassepuutumatud.
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'
Seostage salvestis kliendi katsega. Väljuv SYN, millele miski ei vasta, viitab filtreerimisele, valijatele või puuduvale marsruudile kaugemal pool; lähtestamisega vastus viitab millelegi, mis keeldub aktiivselt, mitte ei viska ära. Teine piir on SSH-protokolli vahetus ise. TCP-ühendus, mis saab valmis ja jääb siis seisma, on kättesaadavusest mööda liikunud läbirääkimistesse, serveri vastusesse või paketitöötlusse. See on teine uurimine ja just seal muutuvad suurusega seotud probleemid esimest korda usutavaks.
Kolmas etapp: kelle võti vastas
Kui transport on püsti, kontrollib klient serveri hosti võtit. Tagasilükkamine on siin väide identiteedi, mitte krüptograafia kohta: vastaspool esitas võtme, mida teie poliitika ei aktsepteeri. Käsitlege seda peatumistingimusena ja kontrollige väljaspool kanalit, konsooli või operaatori kaudu, kes hosti uuesti üles ehitas. Meeldejäänud kirje kustutamine hoiatuse eemaldamiseks on ainus lühend, millest tuleks keelduda, sest see hävitab tõendi, et miski vastas ootamatult.
Kui host tõesti ehitati uuesti üles, eemaldage vana kirje alles pärast uue sõrmejälje kinnitamist ning märkige kuupäev ja põhjus. Järgmine insener kohtab sama hoiatust ja vajab seda konteksti.
Neljas ja viies etapp: konto versus luba
Autentimine on neljas piir. Tagasilükatud mandaat tähendab, et server hindas katset ja lükkas selle tagasi; kontrollige kontot, mandaadi tüüpi, mida server aktsepteerib, ja serveri enda poliitikat, mitte VPN-i parooli. Viies piir on autoriseerimine pärast edukat sisselogimist. Autenditud kasutajalt võidakse siiski keelata kest, käsk, alamsüsteem või edasisaatmine ning need keeldumised näevad välja nagu tõrked kellelegi, kes loeb ainult kliendi viimast rida.
| 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 |
Lõpetage pärast paari ebaõnnestunud paroolikatset. Korduvad oletused tekitavad lukustusi, mis seejärel näevad välja nagu teine, mitteseotud rike, ja maksavad rohkem aega kui algne pilet.
Tagasipööramine ja kirje, mille te alles jätate
Muutke korraga ühte asja ja kirjutage enne uuesti testimist üles, mida muutsite. Kui muudatus teeb katse hullemaks, võtke see kohe tagasi, selle asemel et laduda peale veel üks parandus. Korrake algset toimingut algse kliendi ja kontekstiga. Edukas sisselogimine teisest masinast, teises aadressiperekonnas, ei ole taasesitus ega tõesta parandust.
Puhastage see, mida jagate. Üksikasjalik kliendi väljund võib sisaldada sisemisi nimesid, konto silte, võtmeteid ja avaliku võtme identifikaatoreid, seega avaldage etapiviisiline järeldus, mitte toores jälg.