nmcli se stále ptá na heslo VPN: uložte tajemství lokálně
Desktopová relace odpovídá na výzvu agentem tajemství. Přes SSH to nikdo nedělá, proto vložte přihlašovací údaj do souboru klíče a znovu načtěte profil.
Stejný profil, dvě relace: z plochy se připojí a přes SSH visí na výzvě, na kterou nemůže nic odpovědět. Nic není rozbité a žádné nastavení se neztratilo. NetworkManager žádá přihlašovací údaj od agenta tajemství a agent tajemství je desktopová komponenta, která v relaci, kterou používáte, neexistuje.
Spusťte níže uvedenou sekvenci a tunel se zvedne bez grafického rozhraní, s výhradou, že uložení tajemství mění, kdo může tento profil používat.
Než cokoli upravíte, potvrďte diagnózu
Rozdíl mezi interaktivní a neinteraktivní aktivací je celá diagnóza. Pokud nmcli --ask connection up uspěje, zatímco běžná aktivace zamrzne, profil je správný a zdroj tajemství chybí. Toto jediné srovnání vás ušetří přepisování fungující konfigurace.
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show "Office IPsec" | grep -i flags
Čtěte příznaky, místo abyste je hádali. Hodnoty, které znamenají "zeptej se agenta", jsou to, co hledáte, a přesné názvy klíčů se mezi zásuvnými moduly VPN liší, protože žijí ve vlastním datovém slovníku modulu. Profil FortiSSL a profil IPsec nemusí nutně používat stejné názvy, proto vycházejte z výstupu svého vlastního profilu.
Také ověřte, že je nainstalovaný balíček modulu pro tento protokol. Chybějící modul se projeví jako neznámý typ připojení nebo jako chyba aktivace, která o heslech nic neříká, a honba za tajemstvím v tomto stavu promarní stejnou hodinu dvakrát. Jeden dotaz na balíčky je levnější než celé odpoledne úprav souborů klíčů.
Přesuňte tajemství do souboru klíče
Soubor připojení žije pod /etc/NetworkManager/system-connections/. Tajemství se tam ve výchozím nastavení neukládají, a to je smysl příznaků, které jste právě přečetli. Změna příznaku na nulu říká NetworkManageru, že hodnota je uložena s profilem, místo aby se vyžadovala při aktivaci.
[vpn]
password-flags=0
[vpn-secrets]
password=YOUR-VPN-PASSWORD
U profilu se dvěma tajemstvími se vzor opakuje: jeden příznak na tajemství v sekci [vpn] a hodnoty v [vpn-secrets]. Profil IPsec obvykle nese předem sdílený klíč vedle uživatelského údaje a modul je pojmenovává jinak než běžné pole hesla, proto kopírujte názvy klíčů z výstupu vpn.data, a ne z blogového příspěvku, který používal jiný modul. Jeden špatný název klíče vytvoří profil, který se načte a poté selže při autentizaci, což vypadá přesně jako špatné heslo. Před dalším připojením porovnejte svůj soubor s fungujícím profilem stejného modulu.
Hodnoty obsahující mezery, uvozovky nebo znak dolaru dejte do uvozovek. Neuvozovkovaná hodnota se znakem $ se přečte doslovně nebo se rozvine podle toho, kde se parsuje, a výsledné selhání autentizace vypadá jako špatné heslo.
Potom opravte vlastnictví a režim souboru. Tyto soubory klíčů čte privilegovaná služba a soubor, který mohou číst jiní uživatelé, je považován za nedůvěryhodný, což je obvyklý důvod, proč se upravený profil zdá být ignorován. Vlastník root, režim 600, žádné výjimky.
Znovu načtěte, poté aktivujte
Soubor se čte při načtení připojení, takže úprava nestačí. Znovu načtěte profily a poté připojení výslovně zvedněte.
sudo nmcli connection reload
sudo nmcli connection up "Office IPsec"
Pokud znovunačtení změnu nezachytí, dokáže to plný restart služby a existují zprávy přesně o tom. Upřednostněte znovunačtení, když záleží na jiných spojeních, protože restart služby přeruší každé spravované připojení a na vzdáleném hostiteli to může ukončit vaši relaci dřív, než se požadovaný tunel zvedne.
Když jsou názvy nejednoznačné, použijte UUID. Stroje s několika zákaznickými profily hromadí téměř duplikáty a aktivace špatného vytvoří selhání, které vypadá jako problém s přihlašovacími údaji.
Když uložené tajemství není problém
Profil FortiSSL může selhat i se správným uloženým údajem, protože klient nikdy nedůvěřuje certifikátu brány. Toto nastavení není v hlavním dialogu; je za rozšířenými možnostmi VPN, kde se zadává otisk důvěryhodného certifikátu. Pokud protokol zmiňuje certifikát místo hesla, jste v této větvi a žádné množství úprav [vpn-secrets] nepomůže.
Patří sem ještě dvě kontroly. Ověřte, že profil nebyl importován ze souboru, který stále ukazuje na cestu, kterou modul nedokáže přečíst, a ověřte, že profil je ten aktivní, a ne zastaralý duplikát. Obě vytvářejí selhání aktivace, která se čtou jako chyby autentizace.
Rozhodněte, zda je ukládání přijatelné
Uložené PSK a heslo mohou číst všechny procesy běžící jako root na daném stroji. Na stroji, který ovládáte, je to rozumná výměna za službu bez grafického rozhraní. Na sdíleném hostiteli si to zaslouží rozhovor, protože profil nyní obsahuje údaj, který byl dříve chráněn desktopovou klíčenkou. Než se rozhodnete, zeptejte se, kdo další se na tom hostiteli dostane k rootu, ne až po provedení změny.
Pokud zásady zakazují ukládání tajemství VPN, neoslabujte profil, aby fungovala úloha cron. Spouštějte připojení z relace, která má agenta, nebo použijte jiný mechanismus automatizace.
Nakonec si poznamenejte, které profily nesou tajemství, aby nikdo jeden nezkopíroval na notebook, aniž by si toho všiml. Komentář nad sekcí tajemství s datem a důvodem stačí a někomu později ušetří nepříjemné review.