TOTP-forespørselen fra OpenConnect mangler i NetworkManager: fire kontroller
Gatewayen ber om en engangskode, og NetworkManager-dialogen tilbyr aldri et felt for den. Sjekk hvor autentiseringen stoppet før du redigerer hemmeligheter.
Gatewayen godtar passordet, ber om en kode, og dialogen tilbyr ikke noe felt for den. Ingenting ble skrevet feil: NetworkManager-pluginen fullførte hemmelighetsutvekslingen uten å be om den sekssifrede verdien. Gå gjennom de fire kontrollene nedenfor i rekkefølge, fordi bare én av dem endrer klienten. Resten av listen utelukker gatewayen, kontoen og plugin-bygget.
Første kontroll: les hvor autentiseringen stoppet
Feil passord feiler umiddelbart. En manglende andre faktor feiler etter legitimasjonssteget, vanligvis med en gjentatt forespørsel eller en tidsavbrudd på gateway-siden. Tidspunktet og gateway-loggen viser hvilken runde som ble stående ubesvart.
Les tilkoblingsloggen før du rører profilen. Hvis gatewayen rapporterer ufullstendig autentisering eller en utløpt utfordring, sendte klienten aldri koden. Hvis den rapporterer ugyldige legitimasjoner, er passordet problemet, og ingen TOTP-innstilling vil fikse det.
Noter den nøyaktige forespørselsrekkefølgen gatewayen forventer: brukernavn, passord, deretter kode, eller brukernavn, kode, deretter passord. Noen gatewayer omorganiserer rundene, og en klient som bare kjenner den første rekkefølgen, vil stoppe på den andre.
Andre kontroll: bruk klienten som eier utfordringen
OpenConnect selv implementerer hele samtalen, inkludert utfordringsrunden. Å kjøre det direkte er den mest forutsigbare måten å bekrefte at kontoen og gatewayen fungerer:
sudo openconnect --protocol=anyconnect --useragent=AnyConnect vpn.example.netKlienten spør i den rekkefølgen gatewayen spør. User agenten betyr noe fordi noen gatewayer tilpasser innloggingsflyten til en kjent klient, og en generisk streng kan gi en kortere flyt som aldri ber om koden. Kjør det én gang i forgrunnen før du setter opp noen bakgrunnstjeneste.
Hvis kommandolinjen spør riktig, er kontoen, gatewayen og den andre faktoren i orden. Det gjenværende problemet er pluginens dialog, ikke autentiseringstjenesten. Det isolerer den feilende komponenten uten å røre serveren. Ta vare på kommandoutdataen sammen med hendelsesrapporten.
Hvis kommandolinjen også hopper over forespørselen, stopp og sjekk gateway-konfigurasjonen med eieren. Ingen skrivebordsklient kan svare på en utfordring som serveren aldri sender.
Tredje kontroll: se om pluginen din tilbyr TOTP-modus
Noen NetworkManager OpenConnect-bygg tilbyr en tokenmodus og et user agent-felt i Identity-fanen til tilkoblingen. Sett user agenten til verdien gatewayen forventer, velg manuell TOTP-inntasting og lagre tilkoblingen.
Om disse feltene finnes, avhenger av pluginversjonen og av hvilken tilkoblingsredigerer skrivebordet bruker. En frittstående redigerer kan vise alternativer som GNOME-panelet skjuler, eller omvendt. Sjekk versjonen til den installerte pakken før du leter etter en skjult innstilling.
Hvis tokenmodusen finnes og forespørselen fortsatt ikke vises, mangler bygget overleveringen av utfordringen mellom pluginen og den generiske hemmelighetsdialogen. Å skrive passordet på nytt, installere samme pakke på nytt eller tømme nøkkelringen lager ikke et felt som bygget ikke implementerer.
Fjerde kontroll: behandle en generert kode som en avveining
Et skript kan kalle oathtool for den gjeldende koden og sende brukernavn, passord og kode inn i nmcli connection up --ask. Sekvensen virker, men den delte hemmeligheten ender opp lagret et sted som alle som kan åpne skriptet kan lese, og den leseren kan lage koder for alltid. Det er en permanent utvidelse av legitimasjonsflaten, ikke en klientretting.
Den som velger det, bør låse hemmelighetsfilen til root, holde genererte verdier utenfor skallhistorikken og behandle skriptet som legitimasjonsmateriale. En wrapper som ekkoer koden til terminalen, kaster den andre faktoren. Test wrapperen med en engangskonto først.
Skriptet må også følge gatewayens forespørselsrekkefølge. Hvis serveren ber om koden før passordet, sender en fast inndatasekvens feil verdi til feil forespørsel og gir samme ufullstendige autentisering. Øv på det med en testkonto før du kobler det til en innloggingsjobb.
Bekreft samme gateway og konto
Test hver omvei mot samme gateway, samme konto og samme tunnelgruppe. En gateway som også krever et enhetssertifikat kan avvise kommandolinjeklienten av en grunn som ikke har med TOTP å gjøre, og forespørselsrekkefølgen kan avvike fra den du øvde på.
Noter klienten, versjonen, user agenten og forespørselsrekkefølgen som fungerte. Den registreringen forteller neste person om problemet er pluginbygget, gatewayflyten eller kontopolitikken, uten nok en runde med passordtilbakestillinger.
Avslutt med å koble til på nytt én gang etter en full utlogging. En bufret hemmelighet kan få en ødelagt flyt til å se reparert ut til neste økt, og det er ved den andre tilkoblingen den manglende forespørselen vanligvis kommer tilbake.