Samme profil, to økter: den kobler til fra skrivebordet og henger over SSH på en forespørsel som ingenting kan svare på. Ingenting er ødelagt, og ingen innstilling er tapt. NetworkManager ber en hemmelighetsagent om legitimasjonen, og en hemmelighetsagent er en skrivebordskomponent som ikke finnes i økten du bruker.

Kjør sekvensen nedenfor, og tunnelen kommer opp uten skjerm, med forbehold om at lagring av en hemmelighet endrer hvem som kan bruke profilen.

Bekreft diagnosen før du endrer noe

Forskjellen mellom interaktiv og ikke-interaktiv aktivering er hele diagnosen. Hvis nmcli --ask connection up lykkes mens en vanlig aktivering henger, er profilen riktig, og kilden til hemmeligheten mangler. Den ene sammenligningen sparer deg for å skrive om en fungerende konfigurasjon.

nmcli -f NAME,UUID,TYPE connection show
nmcli connection show "Office IPsec" | grep -i flags

Les flaggene i stedet for å gjette på dem. Verdier som betyr "spør en agent", er det du leter etter, og de nøyaktige nøkkelnavnene varierer mellom VPN-plugins fordi de bor i pluginens egen dataordbok. En FortiSSL-profil og en IPsec-profil bruker ikke nødvendigvis de samme navnene, så arbeid ut fra utdataene fra din egen profil.

Bekreft også at plugin-pakken for den protokollen er installert. En manglende plugin viser seg som en ukjent tilkoblingstype eller som en aktiveringsfeil som ikke sier noe om passord, og å jage hemmeligheten i den tilstanden kaster bort den samme timen to ganger. Én pakkeforespørsel er billigere enn en hel ettermiddag med å redigere nøkkelfiler.

Flytt hemmeligheten inn i nøkkelfilen

Tilkoblingsfilen ligger under /etc/NetworkManager/system-connections/. Hemmeligheter lagres ikke der som standard, og det er poenget med flaggene du nettopp leste. Å sette et flagg til null forteller NetworkManager at verdien er lagret med profilen i stedet for å bli spurt om ved aktivering.

[vpn]
password-flags=0

[vpn-secrets]
password=YOUR-VPN-PASSWORD

For en profil med to hemmeligheter gjentas mønsteret: ett flagg per hemmelighet i [vpn]-delen, og verdiene i [vpn-secrets]. En IPsec-profil har vanligvis en forhåndsdelt nøkkel ved siden av brukerlegitimasjonen, og plugin-en navngir dem annerledes enn et vanlig passordfelt, så kopier nøkkelnavnene fra vpn.data-utdataene i stedet for fra et blogginnlegg som brukte en annen plugin. Ett feil nøkkelnavn gir en profil som lastes og deretter feiler ved autentisering, noe som leses nøyaktig som et feil passord. Sammenlign filen din med en fungerende profil fra samme plugin før du kobler til igjen.

Sett anførselstegn rundt verdier som inneholder mellomrom, anførselstegn eller et dollartegn. En verdi uten anførselstegn med et $ i seg leses bokstavelig eller utvides avhengig av hvor den parses, og autentiseringsfeilen som følger ser ut som et feil passord.

Rett deretter filens eierskap og modus. Disse nøkkelfilene leses av en privilegert tjeneste, og en fil som andre brukere kan lese, behandles som upålitelig, som er den vanlige grunnen til at en redigert profil ser ut til å bli ignorert. Eier root, modus 600, ingen unntak.

Last på nytt, og aktiver deretter

Filen leses når tilkoblingen lastes, så det er ikke nok å redigere den. Last inn profilene på nytt og løft deretter tilkoblingen eksplisitt.

sudo nmcli connection reload
sudo nmcli connection up "Office IPsec"

Hvis innlastingen ikke fanger opp endringen, gjør en full omstart av tjenesten det, og det finnes rapporter om nettopp dette. Foretrekk innlastingen når andre lenker betyr noe, fordi omstart av tjenesten bryter hver administrert tilkobling, og på en ekstern vert kan det avslutte økten din før tunnelen du ville ha, er oppe.

Bruk UUID når navnene er tvetydige. Maskiner med flere kundeprofiler samler nesten-duplikater, og aktivering av feil gir en feil som ser ut som et problem med legitimasjonen.

Når den lagrede hemmeligheten ikke er problemet

En FortiSSL-profil kan feile selv med riktig lagret legitimasjon fordi klienten aldri stoler på sertifikatet til gatewayen. Innstillingen er ikke i hoveddialogen; den ligger bak avanserte alternativer for VPN, der sammendraget av det betrodde sertifikatet legges inn. Hvis loggen nevner sertifikatet i stedet for passordet, er du i denne grenen, og ingen mengde redigering av [vpn-secrets] hjelper.

To kontroller til hører hjemme her. Bekreft at profilen ikke ble importert fra en fil som fortsatt peker på en bane plugin-en ikke kan lese, og bekreft at profilen er den aktive og ikke en utdatert duplikat. Begge gir aktiveringsfeil som leses som autentiseringsfeil.

Bestem om lagring er akseptabelt

En lagret PSK og et passord kan leses av alt som kjører som root på den maskinen. På en maskin du kontrollerer, er det en rimelig byttehandel for en tjeneste uten skjerm. På en delt vert fortjener det en samtale, fordi profilen nå inneholder legitimasjon som tidligere var beskyttet av skrivebordets nøkkelring. Spør hvem andre som kan nå root på den verten før du bestemmer deg, ikke etter at endringen er på plass.

Hvis policyen forbyr lagrede VPN-hemmeligheter, må du ikke svekke profilen for å få en cron-jobb til å virke. Kjør tilkoblingen fra en økt som har en agent, eller bruk en annen mekanisme for automatiseringen.

Til slutt, noter hvilke profiler som bærer hemmeligheter, slik at ingen kopierer en til en bærbar PC uten å merke det. En kommentar over hemmelighetsdelen med datoen og grunnen er nok, og den sparer noen for en pinlig gjennomgang senere.

Relaterte artikler