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 બોલતા ક્લાયન્ટમાં ફરી દાખલ કરી શકાય તો પણ ફાઇલ ક્લાયન્ટ વચ્ચે પસાર થતી નથી। અસામાન્ય પોર્ટ કે બિન-માનક ટનલિંગ મોડ સામાન્ય રીતે તે સ્થળાંતરમાં ખોવાઈ જાય છે। સાધન પસંદ કરતા પહેલાં ગેટવે કયો પ્રોટોકોલ આપે છે તે નક્કી કરો।