De gateway accepteert het wachtwoord, vraagt om een code, en de dialoog biedt geen veld daarvoor. Er is niets verkeerd getypt: de NetworkManager-plug-in voltooide de geheime uitwisseling zonder de zescijferige waarde op te vragen. Werk de vier controles hieronder in volgorde af, want slechts één ervan verandert de client. De rest van de lijst sluit de gateway, het account en de build van de plug-in uit.

Eerste controle: lees waar de authenticatie stopte

Een verkeerd wachtwoord mislukt onmiddellijk. Een ontbrekende tweede factor mislukt na de stap met inloggegevens, meestal met een herhaalde vraag of een time-out aan de gatewaykant. De timing en het gatewaylog laten zien welke ronde onbeantwoord bleef.

Lees het verbindingslog voordat u het profiel aanraakt. Als de gateway een onvolledige authenticatie of een verlopen uitdaging meldt, heeft de client de code nooit verzonden. Als hij ongeldige inloggegevens meldt, is het wachtwoord het probleem en geen enkele TOTP-instelling lost dat op.

Noteer de exacte volgorde van vragen die de gateway verwacht: gebruikersnaam, wachtwoord, dan code, of gebruikersnaam, code, dan wachtwoord. Sommige gateways herordenen de rondes, en een client die alleen de eerste volgorde kent, blijft bij de tweede steken.

Tweede controle: gebruik de client die de uitdaging bezit

OpenConnect zelf implementeert het volledige gesprek, inclusief de uitdagingsronde. Het rechtstreeks uitvoeren is de meest voorspelbare manier om te bevestigen dat het account en de gateway werken:

sudo openconnect --protocol=anyconnect --useragent=AnyConnect vpn.example.net

De client vraagt in de volgorde waarin de gateway vraagt. De user agent is belangrijk omdat sommige gateways de loginflow op een bekende client afstemmen, en een generieke string kan een kortere flow opleveren die nooit om de code vraagt. Voer hem één keer op de voorgrond uit voordat u een achtergronddienst inricht.

Als de opdrachtregel correct vraagt, zijn het account, de gateway en de tweede factor in orde. Het resterende probleem is de dialoog van de plug-in, niet de authenticatiedienst. Dat isoleert het falende onderdeel zonder de server aan te raken. Bewaar de uitvoer van de opdracht bij het incidentverslag.

Als de opdrachtregel de vraag ook overslaat, stop dan en controleer de gatewayconfiguratie met de eigenaar. Geen enkele desktopclient kan een uitdaging beantwoorden die de server nooit verstuurt.

Derde controle: kijk of uw plug-in een TOTP-modus biedt

Sommige NetworkManager OpenConnect-builds bieden een tokenmodus en een user agent-veld op het tabblad Identity van de verbinding. Stel de user agent in op de waarde die de gateway verwacht, kies handmatige TOTP-invoer en sla de verbinding op.

Of die velden bestaan, hangt af van de versie van de plug-in en van welke verbindingseditor de desktop gebruikt. Een zelfstandige editor kan opties tonen die het GNOME-paneel verbergt, of omgekeerd. Controleer de versie van het geïnstalleerde pakket voordat u een verborgen instelling zoekt.

Als de tokenmodus aanwezig is en de vraag toch niet verschijnt, mist de build de overdracht van de uitdaging tussen de plug-in en de generieke geheime dialoog. Het wachtwoord opnieuw typen, hetzelfde pakket opnieuw installeren of de sleutelring leegmaken maakt geen veld dat de build niet implementeert.

Vierde controle: beschouw een gegenereerde code als een afweging

Een script kan oathtool aanroepen voor de huidige code en gebruikersnaam, wachtwoord en code in nmcli connection up --ask voeren. De reeks werkt, maar het gedeelde geheim belandt op een plek die leesbaar is voor iedereen die het script kan openen, en die lezer kan voor altijd codes maken. Dat is een blijvende uitbreiding van het credential-oppervlak, geen clientreparatie.

Wie dat kiest, moet het geheime bestand op root vergrendelen, gegenereerde waarden buiten de shellgeschiedenis houden en het script als credentialmateriaal behandelen. Een wrapper die de code naar de terminal echoot, gooit de tweede factor weg. Test de wrapper eerst met een wegwerpaccount.

Het script moet ook de vraagvolgorde van de gateway volgen. Als de server de code vóór het wachtwoord vraagt, stuurt een vaste invoervolgorde de verkeerde waarde naar de verkeerde vraag en levert dezelfde onvolledige authenticatie op. Oefen met een testaccount voordat u het aan een loginjob koppelt.

Bevestig dezelfde gateway en hetzelfde account

Test elke omweg tegen dezelfde gateway, hetzelfde account en dezelfde tunnelgroep. Een gateway die ook een apparaatcertificaat vereist kan de opdrachtregelclient weigeren om een reden die niets met TOTP te maken heeft, en de vraagvolgorde kan afwijken van de geoefende.

Noteer de client, de versie, de user agent en de vraagvolgorde die werkte. Dat verslag vertelt de volgende persoon of het probleem de build van de plug-in, de flow van de gateway of het beleid van het account is, zonder nog een ronde wachtwoordresets.

Sluit af met één keer opnieuw verbinden na een volledige afmelding. Een gecacht geheim kan een kapotte flow tot de volgende sessie gerepareerd laten lijken, en bij de tweede verbinding komt de ontbrekende vraag meestal terug.

Gerelateerde artikelen