ఇంటరాక్టివ్ లాగిన్ తర్వాత OpenConnectని నేపథ్యంలో ఎలా అమలు చేయాలి
లాగిన్ను ముందు భాగంలో పూర్తి చేసి, ఆపై టన్నెల్ను క్లయింట్ స్వంత నేపథ్య మోడ్కు అప్పగించండి. దానిని కనుగొనగలిగేలా, ఆపగలిగేలా ఉంచే తనిఖీలు.
మీరు MFA ప్రాంప్ట్ పూర్తి చేస్తారు, టన్నెల్ పైకి వస్తుంది, టెర్మినల్ మూసివేత కనెక్షన్ను తీసుకెళ్తుంది. ఇది పర్యవేక్షణ సమస్య, ప్రామాణీకరణ కాదు, మరియు OpenConnectలో దాన్ని పరిష్కరించే స్విచ్ ఇప్పటికే ఉంది. పరిష్కారం ఏమిటంటే, ప్రారంభం ముగిసిన తర్వాత, ఇంటరాక్టివ్ భాగం నిజంగా ముగిసినప్పుడు, క్లయింట్ నేపథ్యానికి శాఖలు చెల్లించడానికి అనుమతించడం. క్రింద తనిఖీల క్రమం: వాటిని క్రమంగా చేయండి మరియు మీ గేట్వేకు సరిపోని మొదటి దానిలో ఆగండి.
లాగిన్ సమయంలో గేట్వే ఏమి కోరుతుందో నిర్ధారించండి
ఆదేశం రాసే ముందు డిప్లాయ్మెంట్ విధించే క్రెడెన్షియల్ మార్గాన్ని రాయండి. సర్టిఫికెట్ మాత్రమే, పాస్వర్డ్ మరియు టోకెన్, మరియు SAML ప్రొవైడర్ ద్వారా బ్రౌజర్ పర్యటన—ఇవి వేర్వేరుగా ప్రవర్తిస్తాయి, నేపథ్య మోడ్ వాటిలో ఏదీ దాటలేదు. ఈ ఎంపిక ప్రారంభం తర్వాత ఏమి జరుగుతుందో మారుస్తుంది, దాని సమయంలో ఏమి జరుగుతుందో ఎప్పుడూ కాదు.
ఆకర్షణీయమైన పరిష్కారం ప్రాంప్ట్ను ఆటోమేట్ చేయడం. పాస్వర్డ్ ప్రాంప్ట్ను గుర్తించినప్పుడు స్థిరమైన సమాధానాన్ని టైప్ చేసే ర్యాపర్, గేట్వే ఒక-సారి కోడ్ అడిగిన క్షణంలో విరిగిపోతుంది, మరియు ఇతర ఖాతాలు చదవగలిగే ఫైల్లో క్రెడెన్షియల్ను వదిలివేస్తుంది. ఒక వ్యక్తి సెషన్ను ఆమోదించాల్సి ఉంటే, ఆ వ్యక్తిని ప్రక్రియలో ఉంచండి.
మొదటి సెషన్ను ముందు భాగంలో అమలు చేసి అవుట్పుట్ చదవండి
ఒకసారి సాధారణంగా కనెక్ట్ అవ్వండి మరియు మొత్తం హ్యాండ్షేక్ ముద్రించబడనివ్వండి. ఉపయోగించే ప్రోటోకాల్, సర్టిఫికెట్ లేదా టోకెన్ మార్గం, సర్వర్ ఇచ్చే టన్నెల్ చిరునామా, మరియు కనెక్షన్ ఆమోదించబడే ముందు ప్రతి హెచ్చరికను గుర్తించండి. ఆ ట్రాన్స్క్రిప్ట్ మీ ఆధార రేఖ మరియు తర్వాత క్లయింట్ సమస్యను గేట్వే మార్పు నుండి వేరు చేయడానికి ఏకైక చవకైన మార్గం. దాన్ని టెర్మినల్ బఫర్ వెలుపల సేవ్ చేయండి.
తర్వాత అదే కాల్ను నేపథ్య మోడ్ మరియు PID ఫైల్ జోడించి పునరావృతం చేయండి, ఉదాహరణకు openconnect --background --pid-file /run/openconnect.pid vpn.example.net, మరియు మీ గేట్వేకు అవసరమైన ప్రోటోకాల్ మరియు ప్రామాణీకరణ ఎంపికలను అదే లైన్లో ఉంచండి. OpenConnect మాన్యువల్ ఈ ఎంపికను ప్రారంభం పూర్తయిన తర్వాత నేపథ్యంలో కొనసాగడం అని వివరిస్తుంది, అందుకే ఇంటరాక్టివ్ దశ మొదట ముగియాలి.
నడుస్తున్న ప్రక్రియను కనుగొనగలిగేలా, ఆపగలిగేలా చేయండి
PID ఫైల్ సజీవ ప్రక్రియకు సరిపోయేంత వరకే సాక్ష్యం. దాన్ని సేవా ఖాతా యాజమాన్యంలోని డైరెక్టరీలో ఉంచి, ఏ సిగ్నల్ పంపే ముందు నమోదైన సంఖ్యను ప్రక్రియ పట్టికతో పోల్చండి. రీబూట్లు మరియు క్రాష్లు ఫైల్ను వదిలివేస్తాయి, పాత ఫైలే టన్నెల్ ఇంకా నడుస్తున్నప్పుడు స్టాప్ స్క్రిప్ట్ విజయాన్ని నివేదించడానికి సాధారణ కారణం. తనిఖీని స్టాప్ విధానంలో భాగంగా పరిగణించండి, ఐచ్ఛిక దశగా కాదు.
ధృవీకరించిన PIDకి సిగ్నల్ పంపి, తర్వాత నిష్క్రమణ స్థితిని నమ్మడం బదులు టన్నెల్ ఇంటర్ఫేస్ నిజంగా అదృశ్యమైందని నిర్ధారించండి. ఇంటర్ఫేస్ను కాన్ఫిగర్ చేయడానికి క్లయింట్కు ఉన్నత హక్కులు అవసరమైతే, సిగ్నల్ పంపడానికి అనుమతి ఉన్న ఖాతా నుండి రావాలి.
నేపథ్య మోడ్ను పర్యవేక్షకుడి క్రింద పేర్చవద్దు
systemd మరియు ఇలాంటి పర్యవేక్షకులు తాము ప్రారంభించిన ప్రక్రియను కలిగి ఉండాలని ఆశిస్తాయి, అందుకే దూరంగా శాఖలు చెల్లించే క్లయింట్ వాటిని గందరగోళానికి గురిచేస్తుంది. పర్యవేక్షకుడు లాంచర్ నిష్క్రమించడాన్ని చూస్తాడు, కానీ నిజమైన కనెక్షన్ కొనసాగుతుంది, అందుకే రీస్టార్ట్ లాజిక్, స్థితి నివేదిక మరియు స్టాప్ గడువులు ఇక నిజం కాని దాన్ని వివరిస్తాయి. యూనిట్ను మద్దతు ఉన్న ముందు భాగ అమరికలో రాసి, డీమన్ పనిని పర్యవేక్షకుడికి వదిలేయండి.
ఒక వ్యక్తి ప్రారంభించి తర్వాత వెళ్లిపోయే సెషన్ల కోసం --background ఉంచండి. ఎవరైనా లాగిన్ అయ్యే ముందే ఉన్న టన్నెల్ అవసరమైతే, లోపించిన భాగం ఆమోదించబడిన ఇంటరాక్టివ్ కాని గుర్తింపు మరియు దాన్ని పునరుద్ధరించే ప్రణాళిక, ఏ ఆదేశ-పంక్తి జెండా వాటిలో ఏదీ ఇవ్వదు. బూట్ స్క్రిప్ట్కు జెండా జోడించడం మొదటి గడువు మీరిన క్రెడెన్షియల్లో నిశ్శబ్దంగా విఫలమయ్యే టన్నెల్ను సృష్టిస్తుంది.
సెషన్ కుకీని క్రెడెన్షియల్గా పరిగణించండి
OpenConnect --authenticate ద్వారా ప్రత్యేక ప్రామాణీకరణ దశను డాక్యుమెంట్ చేస్తుంది, ఫలిత పదార్థాన్ని --cookie-on-stdinతో తిరిగి ఇవ్వవచ్చు. ఆ జంట ఇంటిగ్రేషన్ పని కోసం, మరియు అది ఉత్పత్తి చేసేది దాన్ని సృష్టించిన పాస్వర్డ్తో సమానంగా సున్నితమైనది.
విలువను షెల్ చరిత్ర, లాగ్లు మరియు మీరు తెరిచే ఏ టికెట్ నుండి బయట ఉంచండి. హ్యాండాఫ్ స్క్రిప్ట్ కుకీతో క్లయింట్ పొందిన ధృవీకరించిన ఎండ్పాయింట్ సమాచారాన్ని కూడా భద్రపరచాలి; దాన్ని కోల్పోతే, తర్వాతి అమలు మీరు ఎప్పుడూ ప్రామాణీకరించని హోస్ట్కు కనెక్ట్ కావచ్చు, ఇది కేవలం విఫలమయ్యే కనెక్షన్ కంటే అధ్వాన్నం.
టెర్మినల్ మూసే ముందు జాబితాను పూర్తి చేయండి
నాలుగు విషయాలు నిజం అయి ఉండాలి: ఇంటరాక్టివ్ లాగిన్ ముందు భాగంలో ముగిసింది, PID ఫైల్ మీరు ధృవీకరించిన ప్రక్రియను చూపుతుంది, పర్యవేక్షక ప్రశ్న ఒక వైపు తీర్పు చెప్పబడింది, మరియు కుకీకి సాధారణ టెక్స్ట్ ఫైల్ కాని నిల్వ ప్రణాళిక ఉంది. నాలుగూ నిజమైతే, టెర్మినల్ నుండి దూరంగా వెళ్లడం సురక్షితం మరియు టన్నెల్ నడుస్తూనే ఉంటుంది.
అవి ఒకటి విఫలమైతే, మిగతావాటిని తాకే ముందు ఆ అంశాన్ని సరిచేయండి, ఎందుకంటే మిగిలిన తనిఖీలు దాన్ని భర్తీ చేయలేవు. మొదటి అమలు యొక్క ముందు భాగ ట్రాన్స్క్రిప్ట్ను కూడా ఉంచండి: తదుపరిసారి టన్నెల్ హెచ్చరిక లేకుండా పడిపోయినప్పుడు, ఆ ఆధార రేఖే గేట్వే వైపు మార్పును క్లయింట్ వైపు మార్పు నుండి వేరు చేస్తుంది.