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 ಮಾತನಾಡುವ ಕ್ಲೈಂಟ್ನಲ್ಲಿ ಮತ್ತೆ ನಮೂದಿಸಬಹುದಾದರೂ ಫೈಲ್ ಕ್ಲೈಂಟ್ಗಳ ನಡುವೆ ವರ್ಗಾವಣೆಯಾಗುವುದಿಲ್ಲ। ಅಸಾಮಾನ್ಯ ಪೋರ್ಟ್ ಅಥವಾ ಪ್ರಮಾಣಿತವಲ್ಲದ ಸುರಂಗ ಮೋಡ್ ಸಾಮಾನ್ಯವಾಗಿ ಆ ಸ್ಥಳಾಂತರದಲ್ಲಿ ಕಳೆದುಹೋಗುತ್ತದೆ। ಸಾಧನ ಆಯ್ಕೆ ಮಾಡುವ ಮೊದಲು ಗೇಟ್ವೇ ಯಾವ ಪ್ರೋಟೋಕಾಲ್ ನೀಡುತ್ತದೆ ಎಂದು ನಿರ್ಧರಿಸಿ।