Ühendu 2.x kliendiga ja profiil töötab; anna sama fail 3.x kliendile ja see peatub parooli küsimuse juures. Anna --auth-user-pass creds.txt käsule openvpn3 session-start ja tulemus on sama, sest uuemal kliendil pole etappi, mis faili loeks. Keeldumine on tahtlik: identimisteave kuulub seansile ja seansi loob teenus, mitte sinu terminalis olev protsess. Vali interaktiivse küsimuse ja automaatse laadimise abilise vahel ning tea, mida kumbki salvestab.

Miks salvestatud failil pole kuhugi minna

Uuemas kavandis on konfiguratsioonihaldus ja seansihaldus eraldi teenused, mis räägivad süsteemisiini kaudu. Just see eraldamine lubab tavakasutajal seansi alustada ilma, et privilegeeritud deemon loeks tema eest kaitstud paroolifaili. Failipõhistel identimisteabedel pole selles mudelis kohta, sest puudub deemonipoolne käivitus, mis neid loeks. Keeldumine on arhitektuuri tagajärg, mitte puuduv funktsioon.

Vana mustrit tasub nimetada, et seda oleks lihtsam unustada: profiil viitab identimisteabefailile ja deemon loeb seda tunneli käivitumisel. Uues mudelis kuulub identimisteave seansile ja antakse siis, kui see seanss algab. openvpn3 session-start --config work.ovpn küsib neid ja --auth-user-pass creds.txt lükatakse tagasi, sest miski sellel teel ei avaks faili. Iga 2.x retsept, mille leiad, eeldab etappi, mida enam ei ole.

Konfiguratsioon ja saidi kohalikud sätted on samuti eraldatud, mis selgitab teist üllatust. Profiil võib tunduda täielik, samal ajal kui selle loodud ühendusel puudub marsruutimise ja nimeresolveri konfiguratsioon. Need osad rakendatakse saidi kohalike sätetena, imporditud failist eraldi.

Küsimuse tee ja seanss, mille see jätab

Parooli andmine seansi alguses on ette nähtud töövoog. Klient küsib üks kord, annab identimisteabe seansi taustale ja jätkab:

openvpn3 session-start --config work.ovpn
openvpn3 sessions-list

Sellel teel ei kirjutata kettale midagi. Seanss jätkab töötamist ka pärast terminali sulgemist, mis üllatab neid, kes ootavad, et protsess sureb koos nende kestaga. Just see ongi seansihalduse teenusesse viimise mõte. Seanss elab kauem kui terminal, mis seda küsis, ja see tuleb selgesõnaliselt peatada.

Töökoha jaoks, mille ees on inimene, on see ka kõige turvalisem valik, sest pole salvestatud saladust, mida kaitsta või unustada. See ei sobi ainult seal, kus pole kedagi trükkimiseks.

Automatiseerimine ilma inimeseta klaviatuuri taga

Kus masin peab ühenduma ilma inimeseta, tarnib projekt openvpn3-autoload. See loeb profiilide kataloogi ja iga profiili jaoks sobiva kirjeldaja ning kirjeldaja annab identimisteabe puhtal tekstil. Abiline on eraldi binaarfail, tavaliselt asukohas /usr/sbin/openvpn3-autoload, mitte session-start lipp. Selle seadistamine tähendab kataloogi loomist, profiili kopeerimist nime alla, mida kirjeldaja ootab, ja kirjeldaja kirjutamist.

Kasutajapõhine seadistus näeb välja selline ja käivitatakse kontona, mis seanssi hakkab omama. Kataloogi režiim hoiab teised kohalikud kasutajad väljas:

mkdir -m700 -p ~/.openvpn3/autoload
cp work.ovpn ~/.openvpn3/autoload/client.conf
$EDITOR ~/.openvpn3/autoload/client.autoload

Kirjeldaja nimetab identimisteabe ja palub automaatset käivitust. Hoia parooli väärtus versioonihaldusest väljas:

{
  "autostart": true,
  "user-auth": {
    "autologin": true,
    "username": "svc-vpn",
    "password": "change-this-value"
  }
}

Seejärel kutsu abiline üks kord välja ja kinnita, et seanss ilmub. Teine käsk on kontroll, mitte veel üks seadistusaste:

/usr/sbin/openvpn3-autoload --directory ~/.openvpn3/autoload
openvpn3 sessions-list

Alglaadimisel kasutab pakendatud üksus nimega openvpn3-autoload.service süsteemikataloogi /etc/openvpn3/autoload, mitte kasutajapõhist. See asukoht nõuab rooti omandit ja rangemat režiimi ning kirjeldaja hoiab endiselt parooli selgel tekstil. Kompromiss on selge: parool asub nüüd kettal, seega kohtle seda kataloogi saladusena, jäta see väljaspool hosti tehtavatest varukoopiatest välja ja vali interaktiivne tee alati, kui kohal on inimene.

Siini tõrked, mis näevad välja nagu parooli tõrked

Mõned identimisteabele omistatud tõrked pole sugugi seda. Õigusetõrge, mis nimetab teenuse aktiveerimise teed, tähendab ühte kahest: taust pole käivitatud või kutsujal pole õigust seda aktiveerida. Ükski profiili muudatus ei muuda kumbagi. Kontrolli teenuse olekut ja kaasas olevat siinipoliitikat enne, kui konfiguratsiooni puutud.

Allolevad käsud eraldavad need kaks. Esimene teatab, kas taust töötab; teine näitab viimaseid siinitõrkeid:

systemctl status openvpn3-service-client
journalctl -b -u openvpn3-service-client --no-pager | tail -20

Teine sage valelugemine on seanss, mis ilmub ja kaob kohe. See muster tähendab tavaliselt, et saidi kohalikke sätteid ei rakendatud kunagi, nii et tunnel tõusis ilma marsruutimise ja nimeresolveri muudatusteta, mis teevad selle kasulikuks. Loe järjestust, mitte viimast rida: kas seanss loodi, kas see jõudis ühendatud olekusse ja kas see jäi püsima, on kolm eraldi fakti.

Kui vanemat klienti veel kasutatakse

2.x klient võtab endiselt vastu identimisteabefaili ja võtmerõngas saab selle küsimusele vastata, ilma et saladus kunagi kettale jõuaks. Ümbris lahendab kirje, nii et fail nimetab otsingu, mitte parooli. See korraldus sõltub avamata võtmerõngast, mida konteiner ilma sisselogimisseansita või üksus, mis käivitub enne, kui keegi sisse logib, ei suuda pakkuda. Siis teatab otsingutööriist kogumist, kuhu see kirjutada ei saa, nii et tõrge näeb välja nagu identimisteabe rike, kuigi see on võtmerõnga rike.

Enne kui midagi sellest ehitad, kontrolli, kas profiili keepalive-säte kaotab ümberkäivitamise vajaduse täielikult. Seanss, mis püsib püsti, ei jõua kunagi küsimuseni, mida sa automatiseerida püüad.

Seotud artiklid