nmcli sa stále pýta heslo VPN: uložte tajomstvo lokálne
Desktopová relácia odpovedá na výzvu agentom tajomstiev. Cez SSH to nikto nerobí, preto vložte prihlasovacie údaje do súboru kľúča a znova načítajte profil.
Rovnaký profil, dve relácie: z plochy sa pripojí a cez SSH visí na výzve, na ktorú nič nemôže odpovedať. Nič nie je pokazené a žiadne nastavenie sa nestratilo. NetworkManager žiada prihlasovacie údaje od agenta tajomstiev a agent tajomstiev je desktopový komponent, ktorý v relácii, ktorú používate, neexistuje.
Spustite nižšie uvedenú sekvenciu a tunel sa zdvihne bez grafického rozhrania, s výhradou, že uloženie tajomstva mení, kto môže tento profil používať.
Pred akoukoľvek zmenou potvrďte diagnózu
Rozdiel medzi interaktívnou a neinteraktívnou aktiváciou je celá diagnóza. Ak nmcli --ask connection up uspeje, zatiaľ čo bežná aktivácia zamrzne, profil je správny a zdroj tajomstva chýba. Toto jediné porovnanie vás ušetrí prepisovania fungujúcej konfigurácie.
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show "Office IPsec" | grep -i flags
Čítajte príznaky, namiesto toho, aby ste ich hádali. Hodnoty, ktoré znamenajú "spýtaj sa agenta", sú to, čo hľadáte, a presné názvy kľúčov sa medzi zásuvnými modulmi VPN líšia, pretože žijú vo vlastnom dátovom slovníku modulu. Profil FortiSSL a profil IPsec nemusia nevyhnutne používať rovnaké názvy, preto vychádzajte z výstupu svojho vlastného profilu.
Tiež overte, že balík modulu pre tento protokol je nainštalovaný. Chýbajúci modul sa prejaví ako neznámy typ pripojenia alebo ako chyba aktivácie, ktorá o heslách nič nehovorí, a honba za tajomstvom v tomto stave premrhá ten istý čas dvakrát. Jeden dotaz na balíky je lacnejší než celé popoludnie úprav súborov kľúčov.
Presuňte tajomstvo do súboru kľúča
Súbor pripojenia žije pod /etc/NetworkManager/system-connections/. Tajomstvá sa tam predvolene neukladajú, a to je zmysel príznakov, ktoré ste práve prečítali. Zmena príznaku na nulu hovorí NetworkManageru, že hodnota je uložená s profilom, namiesto toho, aby sa vyžadovala pri aktivácii.
[vpn]
password-flags=0
[vpn-secrets]
password=YOUR-VPN-PASSWORD
Pri profile s dvoma tajomstvami sa vzor opakuje: jeden príznak na tajomstvo v sekcii [vpn] a hodnoty v [vpn-secrets]. Profil IPsec zvyčajne nesie vopred zdieľaný kľúč vedľa používateľského údaja a modul ich pomenúva inak než bežné pole hesla, preto kopírujte názvy kľúčov z výstupu vpn.data, a nie z blogového príspevku, ktorý používal iný modul. Jeden nesprávny názov kľúča vytvorí profil, ktorý sa načíta a potom zlyhá pri autentizácii, čo sa číta presne ako nesprávne heslo. Pred ďalším pripojením porovnajte svoj súbor s fungujúcim profilom toho istého modulu.
Hodnoty obsahujúce medzery, úvodzovky alebo znak dolára dajte do úvodzoviek. Neúvodzovkovaná hodnota so znakom $ sa prečíta doslovne alebo sa rozvinie podľa toho, kde sa parsuje, a výsledné zlyhanie autentizácie vyzerá ako nesprávne heslo.
Potom opravte vlastníctvo a režim súboru. Tieto súbory kľúčov číta privilegovaná služba a súbor, ktorý môžu čítať iní používatelia, sa považuje za nedôveryhodný, čo je obvyklý dôvod, prečo sa upravený profil javí ako ignorovaný. Vlastník root, režim 600, žiadne výnimky.
Znova načítajte, potom aktivujte
Súbor sa číta pri načítaní pripojenia, takže úprava nestačí. Znova načítajte profily a potom pripojenie výslovne zdvihnite.
sudo nmcli connection reload
sudo nmcli connection up "Office IPsec"
Ak znovunačítanie zmenu nezachytí, dokáže to plný reštart služby a existujú správy presne o tom. Uprednostnite znovunačítanie, keď záleží na iných spojeniach, pretože reštart služby preruší každé spravované pripojenie a na vzdialenom hostiteľovi to môže ukončiť vašu reláciu skôr, než sa požadovaný tunel zdvihne.
Keď sú názvy nejednoznačné, použite UUID. Stroje s niekoľkými zákazníckymi profilmi hromadia takmer duplikáty a aktivácia nesprávneho vytvorí zlyhanie, ktoré vyzerá ako problém s prihlasovacími údajmi.
Keď uložené tajomstvo nie je problém
Profil FortiSSL môže zlyhať aj so správnym uloženým údajom, pretože klient nikdy neverí certifikátu brány. Toto nastavenie nie je v hlavnom dialógu; je za rozšírenými možnosťami VPN, kde sa zadáva odtlačok dôveryhodného certifikátu. Ak protokol spomína certifikát namiesto hesla, ste v tejto vetve a žiadne množstvo úprav [vpn-secrets] nepomôže.
Patria sem ešte dve kontroly. Overte, že profil nebol importovaný zo súboru, ktorý stále ukazuje na cestu, ktorú modul nedokáže prečítať, a overte, že profil je ten aktívny, a nie zastaraný duplikát. Obe vytvárajú zlyhania aktivácie, ktoré sa čítajú ako chyby autentizácie.
Rozhodnite, či je ukladanie prijateľné
Uložené PSK a heslo môžu čítať všetky procesy bežiace ako root na danom stroji. Na stroji, ktorý ovládate, je to rozumná výmena za službu bez grafického rozhrania. Na zdieľanom hostiteľovi si to zaslúži rozhovor, pretože profil teraz obsahuje údaj, ktorý predtým chránila desktopová kľúčenka. Pred rozhodnutím sa opýtajte, kto ďalší sa na tomto hostiteľovi dostane k rootu, nie až po vykonaní zmeny.
Ak zásady zakazujú ukladanie tajomstiev VPN, neoslabujte profil, aby fungovala úloha cron. Spúšťajte pripojenie z relácie, ktorá má agenta, alebo použite iný mechanizmus automatizácie.
Nakoniec si poznačte, ktoré profily nesú tajomstvá, aby nikto jeden nezkopíroval na notebook bez toho, aby si to všimol. Komentár nad sekciou tajomstiev s dátumom a dôvodom stačí a niekomu neskôr ušetrí nepríjemné review.