Linux आणि macOS वर AnyConnect लॉगिन स्क्रिप्ट कसे करावे
vpn बायनरी प्रॉम्प्टच्या क्रमाने मानक इनपुटवरून उत्तरे वाचते। क्रम तयार करा, एकदा अवतरणात ठेवा, प्रक्रिया सूचीबाहेर ठेवा आणि आधी एक संसाधन तपासा।
स्क्रिप्ट शून्याने संपते, बोगदा दिसतो, आणि पुढील रन पासवर्ड मागण्यापूर्वीच नाकारली जाते। किंवा तोच आदेश टर्मिनलमध्ये चालतो आणि नियोजित कामातून «घटना सापडली नाही» या काहीही उपयुक्त नाव न देणाऱ्या त्रुटीने अयशस्वी होतो। दोन्ही नेटवर्क बिघाड नाहीत, AnyConnect क्लायंटचा मानक इनपुट संवाद चुकत आहे। लॉगिनला लिखित प्रश्नोत्तर माना आणि अपयश अंदाजण्यायोग्य व छोटे होतात।
तोच आदेश स्क्रिप्टमध्ये का अयशस्वी होतो
क्लायंट त्याची उत्तरे मानक इनपुटवरून वाचतो, प्रत्येक प्रॉम्प्टसाठी एक ओळ, गेटवे ज्या क्रमाने विचारतो त्या क्रमाने। प्रॉम्प्टची संख्या बदलणारी कोणतीही गोष्ट, जसे नवीन बॅनर, गट निवडक किंवा दुसऱ्या घटकाचे आव्हान, प्रत्येक पुढील उत्तर एका ओळीने सरकवते। मग क्लायंट पासवर्ड अपेक्षित असलेल्या ठिकाणी वापरकर्तानाव वाचतो आणि दोन्हीपैकी कोणाकडेही निर्देश न करणारे अपयश नोंदवतो।
उद्गारवाचक चिन्ह असलेला पासवर्ड अधिक शांत दुसरे अपयश जोडतो। दुहेरी अवतरणांमध्ये शेल क्लायंटला काही दिसण्यापूर्वीच ते खूप आधी विस्तारित करते।
पेलोड एकाच अवतरणांमध्ये ठेवा आणि अक्षर अभंग जाते। हाच संपूर्ण दुरुस्ती आहे, आणि त्याच क्रेडेन्शियल टाइप करताना चालून साठवताना अयशस्वी होणाऱ्या अहवालांचा संपूर्ण वर्ग ते स्पष्ट करते। गेटवे तपासण्यापूर्वी शेलने काय केले ते तपासा: अचूक बाइट दाखवणाऱ्या आवरणातून पेलोड छापा आणि ओळी मोजा। अशा तपासण्यांचा बहुतेक भाग तिथेच संपतो।
क्लायंट ज्या क्रमाने विचारतो त्या क्रमाने उत्तरे लिहा
क्लायंट एकदा परस्परसंवादी पद्धतीने चालवा आणि प्रत्येक प्रॉम्प्ट क्रमाने लिहून ठेवा। गेटवे अनेक प्रोफाइल प्रकाशित केल्यावरच गट निवडक दिसतो, आणि एक संरचीत असेल तरच बॅनर प्रॉम्प्ट दिसतो। उत्तर फाइल तुम्ही प्रत्यक्षात ज्या गेटवेकडे निर्देशित आहात त्याच्याशी जुळली पाहिजे, दस्तऐवजातील गेटवेशी नाही।
मग त्या अचूक क्रमाने फाइल तयार करा, प्रत्येक ओळीत एक उत्तर। गट निर्देशांक म्हणजे क्लायंट सूचीबद्ध करतो तो क्रमांक, दस्तऐवजातील प्रोफाइलचे स्थान नाही। तुमचा गेटवे एक पाठवत असेल तरच बॅनर स्वीकारा, आणि तो गेटवे विचारतो असे माहीत असलेल्या प्रत्येक अतिरिक्त प्रश्नासाठी एक ओळ जोडा। क्लायंटला अ-परस्परसंवादी ध्वजासह सुरू करा जेणेकरून तो टर्मिनलची वाट न पाहता फाइल वापरेल।
connect vpn.lab.example
0
username
password
y
exit/opt/cisco/anyconnect/bin/vpn -s < anyconnect.txtडिस्कवर फाइल ठेवायची नसल्यास तोच क्रम पाइपमधूनही येऊ शकतो। अवतरणाचे नियम ते टिकेल का हे अजूनही ठरवतात।
क्रेडेन्शियल प्रक्रिया सूचीबाहेर ठेवा
आदेश ओळीवरील युक्तिवाद प्रक्रियेच्या संपूर्ण आयुष्यभर प्रत्येक स्थानिक वापरकर्त्याला वाचनीय असतो, त्यामुळे पासवर्ड फाइल किंवा पाइपमध्ये असतो आणि कधीही युक्तिवाद सूचीत नसतो। ती फाइल स्क्रिप्ट चालवणाऱ्या खात्यालाच वाचनीय करा, आणि काम संपल्यावर ती हटवा। macOS वर बायनरी सामान्यतः Linux प्रमाणेच त्याच मार्गावर असते, पण गृहीत धरण्याऐवजी प्रस्थापित जागा खात्री करा। दोन्ही मार्ग तपासणारे आवरण घटना अहवालापेक्षा लहान आहे।
printf 'username\npassword\ny\n' | /opt/cisco/anyconnect/bin/vpn -s connect vpn.lab.exampleस्क्रिप्टला अनंतकाळ पुन्हा प्रयत्न करू देऊ नका। बदललेला बॅनर किंवा रात्रभरात कालबाह्य झालेला पासवर्ड स्थिर उत्तर फाइलला पुनःप्रयत्न चक्रात बदलतो, आणि तेच चक्र खाते लॉक करते।
एकदा अयशस्वी व्हा, क्लायंटचा स्वतःचा त्रुटी मजकूर छापा आणि बाहेर पडा। नियोजित कामाला इतर कोणत्याही देखरेखविरहित कामाप्रमाणेच ओळख आणि क्रेडेन्शियल उपलब्धतेचा आढावा लागतो, कारण शांतपणे कालबाह्य होणारे क्रेडेन्शियल पहाटे तीन वाजताच्या व्यत्ययापासून वेगळे ओळखता येत नाही।
एक्झिट कोडवर विश्वास ठेवण्यापूर्वी सत्राची खात्री करा
जोडलेली स्थिती बोगदा अस्तित्वात असल्याचे सिद्ध करते आणि त्यापलीकडे काही नाही। स्क्रिप्ट खरे काम सुरू करण्यापूर्वी त्यातून पोहोचण्याजोगे असलेले एक संसाधन तपासा, आणि तिथले अपयश अयशस्वी लॉगिनपेक्षा वेगळा बिघाड माना। अन्यथा तुम्ही पूर्णपणे चांगले कनेक्शन पुन्हा प्रयत्न कराल जे फक्त त्याच्या गंतव्यापर्यंत पोहोचू शकत नाही।
डिस्कनेक्टपूर्वी आणि नंतर क्लायंटला त्याची स्थिती विचारा, कारण जुने सत्र पुढील कनेक्शन नाकारू शकते आणि तुमची स्क्रिप्ट यश नोंदवत असते।
/opt/cisco/anyconnect/bin/vpn state
/opt/cisco/anyconnect/bin/vpn disconnectएक्झिट कोडच्या शेजारी स्थितीचे आउटपुट नोंदवा, कारण केवळ कोड नाकारलेले लॉगिन कधीही बंद न झालेल्या सत्रापासून वेगळे करू शकत नाही। गेटवे दुसरा घटक किंवा परस्परसंवादी मंजुरी मागत असल्यास ते पाऊल स्क्रिप्ट करणे थांबवा आणि त्याऐवजी क्लायंटला समर्थित यंत्रणा वापरा। स्थिर उत्तर फाइल तुमच्या नियंत्रणातील क्रेडेन्शियलसाठी सोय आहे, तुमच्या नियंत्रणाबाहेरील प्रमाणीकरणाचे पाऊल टाळण्याचा मार्ग नाही। व्याप्ती एवढी संकुचित ठेवा आणि हे लहान स्क्रिप्टच राहते।
स्थिर उत्तर फाइल कधी चुकीचे साधन आहे
दुसरा घटक किंवा मंजुरी प्रॉम्प्ट हा नमुना पूर्णपणे पराभूत करतात, आणि ही स्क्रिप्ट कोडे नसून रचना मर्यादा आहे। त्या पाऊलासाठी क्लायंट जे यंत्रणा समर्थित करतो ती वापरा आधीच उत्तर अंदाजण्याऐवजी। स्थिर फाइल फक्त रनमध्ये समान राहणाऱ्या क्रेडेन्शियलसाठी चालते।
दोन जुन्या क्रेडेन्शियल शैलीही AnyConnect समजल्या जातात। vpnc प्रोफाइल वेगळ्या प्रोटोकॉलमध्ये बोलते, आणि तिला गटाचे नाव IPSec ओळखकर्ता म्हणून हवे असते, नंतर सामायिक गट रहस्य, नंतर तुमच्या स्वतःच्या खात्याचा तपशील।
प्रोटोकॉल वेगळे असल्याने, vpnc फक्त AnyConnect प्रोफाइल प्रकाशित करणाऱ्या गेटवेपर्यंत पोहोचू शकत नाही, आणि त्या सेवेसाठी नेहमीचा खुला पर्याय anyconnect प्रोटोकॉल निवडलेला openconnect आहे। pcf फाइल जुन्या Cisco क्लायंटची आहे, आणि तिचा होस्ट, गटाचे नाव व गट पासवर्ड अजूनही Cisco IPsec बोलणाऱ्या क्लायंटमध्ये पुन्हा टाकता आले तरी फाइल क्लायंटमध्ये हस्तांतरित होत नाही। असामान्य पोर्ट किंवा अ-मानक बोगदा पद्धत सामान्यतः त्या स्थलांतरात हरवते। साधन निवडण्यापूर्वी गेटवे कोणता प्रोटोकॉल देतो ते ठरवा।