Cisco AnyConnect ಜೊತೆ ಬರುವ vpn ಕ್ಲೈಂಟ್ ಸಂಭಾಷಣೆಯಂತೆ ವರ್ತಿಸುತ್ತದೆ: ಅದು ಪ್ರಾಂಪ್ಟ್ ಮುದ್ರಿಸುತ್ತದೆ, ಒಂದು ಸಾಲಿಗಾಗಿ ಕಾಯುತ್ತದೆ, ನಂತರ ಮುಂದಿನದನ್ನು ಮುದ್ರಿಸುತ್ತದೆ. ಆ ಸಂಭಾಷಣೆಯನ್ನು ಫೈಲ್ ಅಥವಾ ಪೈಪ್‌ನಿಂದ ಒಳಗೆ ಹಾಕಿದರೆ ಅದೇ ಬೈನರಿ ಮೇಲ್ವಿಚಾರಣೆ ಇಲ್ಲದೆ ಓಡುತ್ತದೆ. ತಂತ್ರವು ಒಂದು ಮರುನಿರ್ದೇಶನ ಮತ್ತು ಜೋಡಿಸಿದ ಉತ್ತರಗಳ ಪಟ್ಟಿ, ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ ವಿಶ್ವಾಸಾರ್ಹವೇ ಎಂಬುದನ್ನು ಮರುನಿರ್ದೇಶನವಲ್ಲ, ಆ ಪಟ್ಟಿಯೇ ನಿರ್ಧರಿಸುತ್ತದೆ.

ಪ್ರಾಯೋಗಿಕವಾಗಿ ಎರಡು ವಿಷಯಗಳು ಇದನ್ನು ಮುರಿಯುತ್ತವೆ. ಗೇಟ್‌ವೇ ಹೆಚ್ಚುವರಿ ಏನನ್ನಾದರೂ ಕೇಳಿದಾಗ ಪ್ರಾಂಪ್ಟ್‌ಗಳ ಕ್ರಮ ಬದಲಾಗುತ್ತದೆ, ಮತ್ತು ಸಂಗ್ರಹಿಸಿದ ಪಾಸ್‌ವರ್ಡ್ ಒಂದು ಟೈಪಿಂಗ್ ತಪ್ಪನ್ನು ಖಾತೆ ಲಾಕ್‌ಔಟ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ. ಅನುಕ್ರಮವನ್ನು ಆವೃತ್ತಿ ಮಾಡಿದ ಡೇಟಾದಂತೆ ನೋಡಿ, ಗೇಟ್‌ವೇ ಬದಲಾವಣೆಯ ನಂತರ ಹೋಲಿಸಬಹುದು. ಮತ್ತೆ ಪ್ರಯತ್ನಿಸುವ ಬದಲು ಗಟ್ಟಿಯಾಗಿ ವಿಫಲವಾಗಿ, ಏಕೆಂದರೆ ಲೂಪ್ ಎಂಬುದು ತಪ್ಪಾಗಿ ಟೈಪ್ ಮಾಡಿದ ಪಾಸ್‌ವರ್ಡ್ ಲಾಕ್ ಆದ ಖಾತೆಯಾಗುವ ದಾರಿಯೇ ಆಗಿದೆ.

ಒಂದು ಅನುಕ್ರಮ, ಕ್ಲೈಂಟ್ ಕೇಳುವ ಕ್ರಮದಲ್ಲಿಯೇ

ಕ್ಲೈಂಟ್ ಅನ್ನು ಒಮ್ಮೆ ಸಂವಾದಾತ್ಮಕವಾಗಿ ಚಲಾಯಿಸಿ ಮತ್ತು ಪ್ರತಿ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಅದು ಕಾಣಿಸಿಕೊಳ್ಳುವ ಕ್ರಮದಲ್ಲಿ ಬರೆಯಿರಿ. ಆ ಟ್ರಾನ್ಸ್‌ಕ್ರಿಪ್ಟ್ ಉತ್ತರ-ಫೈಲ್ ಆಗುತ್ತದೆ. ಫೈಲ್ ಅನ್ನು ಬೈನರಿಗೆ ಮರುನಿರ್ದೇಶಿಸಿದಾಗ ಮೊದಲ ಸಾಲು ಸಂಪರ್ಕ ಆಜ್ಞೆಯೇ ಆಗಿರಬೇಕು, ಆದ್ದರಿಂದ ಅನುಕ್ರಮ ಬಳಕೆದಾರಹೆಸರಿಗಿಂತ ಹೋಸ್ಟ್‌ಹೆಸರಿನಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ.

connect vpn.example.com
0
<username>
<password>
y
exit

ಬರಿಯ 0 ಗೇಟ್‌ವೇ ಪಟ್ಟಿ ನೀಡಿದಾಗ ಮೊದಲ ಸಂಪರ್ಕ ಪ್ರೊಫೈಲ್ ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ; ನಿಮ್ಮ ಗೇಟ್‌ವೇ ಮುದ್ರಿಸುವ ಸೂಚಿಯನ್ನು ಬಳಸಿ. y ಲಾಗಿನ್ ಬ್ಯಾನರ್ ಸ್ವೀಕರಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಬ್ಯಾನರ್ ಇಲ್ಲದಿದ್ದರೆ ಆ ಸಾಲನ್ನು ಅಳಿಸಿ ಮತ್ತು ನಿಮ್ಮ ಗೇಟ್‌ವೇ ಹೆಚ್ಚುವರಿ ಪ್ರಶ್ನೆ ಕೇಳುವಲ್ಲಿ ಒಂದು ಸಾಲು ಸೇರಿಸಿ. ಕೊನೆಯ exit ಕೊನೆಯ ಉತ್ತರ ಬಳಸಿ ಮುಗಿದ ನಂತರ ಕ್ಲೈಂಟ್ ಸ್ವಚ್ಛವಾಗಿ ಕೊನೆಗೊಳ್ಳಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.

/opt/cisco/anyconnect/bin/vpn -s < anyconnect.txt

ಸಂವಾದರಹಿತ ಮೋಡ್ ಇಲ್ಲಿ ಐಚ್ಛಿಕವಲ್ಲ. -s ಇಲ್ಲದೆ ಕ್ಲೈಂಟ್ ಟರ್ಮಿನಲ್ ವಶಪಡಿಸಿಕೊಂಡು ಮರುನಿರ್ದೇಶಿತ ಇನ್‌ಪುಟ್ ನಿರ್ಲಕ್ಷಿಸಬಹುದು; ಅದರೊಂದಿಗೆ ಉತ್ತರಗಳು ಸ್ಟ್ರೀಮ್‌ನಿಂದ ಓದಲ್ಪಟ್ಟು ಪ್ರಕ್ರಿಯೆ ಮರಳುತ್ತದೆ. ಬೈನರಿಗೆ ಹೆಚ್ಚಿನ ಸವಲತ್ತುಗಳು ಬೇಕಾದಲ್ಲಿ ಕರೆಯನ್ನು sudo -n ನಲ್ಲಿ ಸುತ್ತಿ, ಆಗ ಸ್ಕ್ರಿಪ್ಟ್ ಪಾಸ್‌ವರ್ಡ್ ಪ್ರಾಂಪ್ಟ್‌ನಲ್ಲಿ ನಿಂತುಕೊಳ್ಳುವ ಬದಲು ತಕ್ಷಣ ವಿಫಲವಾಗುತ್ತದೆ.

ಉತ್ತರ-ಫೈಲ್ ಎಲ್ಲಿ ಸೋರುತ್ತದೆ

ಪಾಸ್‌ವರ್ಡ್ ಇರುವ ಫೈಲ್ ಒಂದು ರುಜುವಾತು, ಆದ್ದರಿಂದ ಅದಕ್ಕೆ ರುಜುವಾತಿನ ಅನುಮತಿಗಳನ್ನು ಕೊಡಿ: ಮೋಡ್ 600, ಕೆಲಸ ನಡೆಸುವ ಖಾತೆಯ ಮಾಲೀಕತ್ವದಲ್ಲಿ, ಮತ್ತು ಎಂದಿಗೂ ಹಂಚಿದ ಅಥವಾ ಸಿಂಕ್ ಮಾಡಿದ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಇರಬಾರದು. ನಂತರ ಸರಿಪಡಿಸುವ ಬದಲು ಮೋಡ್ ಈಗಾಗಲೇ ಅನ್ವಯಿಸಿ ರಚಿಸಿ, ಏಕೆಂದರೆ ಬರವಣಿಗೆ ಮತ್ತು chmod ನಡುವೆ ಫೈಲ್ ಕ್ಷಣಿಕವಾಗಿ ಎಲ್ಲರಿಗೂ ಓದಲು ಸಿಗುತ್ತದೆ.

install -m 600 /dev/null ~/.config/anyconnect.txt
chmod 700 ~/.config

ಇನ್ನೊಂದು ಅರ್ಧ argv. ಆರ್ಗ್ಯುಮೆಂಟ್ ಆಗಿ ನೀಡಿದ ಪಾಸ್‌ವರ್ಡ್ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುವ ಪ್ರತಿಯೊಬ್ಬ ಸ್ಥಳೀಯ ಬಳಕೆದಾರರಿಗೂ ಕಾಣುತ್ತದೆ, ಮತ್ತು ಅದು ಶೆಲ್ ಇತಿಹಾಸಕ್ಕೂ ಸೇರುತ್ತದೆ. ಬದಲಾಗಿ ಅದನ್ನು ಫೈಲ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್ ಅಥವಾ ಪರಿಸರ ಚರದಿಂದ ಓದಿ, ಮತ್ತು ಪೇಲೋಡ್ ಅನ್ನು ಉಲ್ಲೇಖಿಸಿ, ಆಗ ಶೆಲ್ ಒಳಗೆ ಏನನ್ನೂ ವಿಸ್ತರಿಸಲಾಗದು.

printf '%s\n' 'connect vpn.example.com' '0' "$VPN_USER" "$VPN_PASS" 'y' 'exit' \
  | sudo -n /opt/cisco/anyconnect/bin/vpn -s

ಉಲ್ಲೇಖಗಳ ಬಗ್ಗೆ ಗಮನವಿರಲಿ. ದ್ವಿಗುಣ ಉಲ್ಲೇಖಗಳ ಒಳಗೆ ! ಇರುವ ಪಾಸ್‌ವರ್ಡ್ ಕ್ಲೈಂಟ್ ನೋಡುವ ಮೊದಲೇ ಸಂವಾದಾತ್ಮಕ ಶೆಲ್ ವಿಸ್ತರಿಸಬಹುದು, ಮತ್ತು ವೈಫಲ್ಯ ಪ್ರೋಟೋಕಾಲ್ ಸಮಸ್ಯೆಯಂತೆ ಕಾಣುವ ಸಾಮಾನ್ಯ event-not-found ದೋಷವಾಗಿ ಬರುತ್ತದೆ.

ಸುರಂಗವನ್ನು ಸಾಬೀತು ಮಾಡಿ, ನಂತರ ಮುಚ್ಚಿ

ಸಂಪರ್ಕಿತ ಸ್ಥಿತಿ ಕ್ಲೈಂಟ್ ಸೆಷನ್ ಇದೆ ಎಂದು ನಂಬುತ್ತದೆ ಎಂಬುದನ್ನು ಮಾತ್ರ ಸಾಬೀತು ಮಾಡುತ್ತದೆ. ಕಾರ್ಪೊರೇಟ್ ನೆಟ್‌ವರ್ಕ್ ಒಳಗಿನಿಂದ ಮಾತ್ರ ಉತ್ತರಿಸುವ ಹೋಸ್ಟ್ ಆಯ್ಕೆ ಮಾಡಿ ಮತ್ತು ಬೇರೆ ಏನನ್ನಾದರೂ ಮಾಡುವ ಮೊದಲು ಒಮ್ಮೆ ಪರೀಕ್ಷಿಸಿ. ಅಲ್ಲಿ ವೈಫಲ್ಯ ರೂಟಿಂಗ್ ಅಥವಾ ನೀತಿ ದೋಷ, ಮತ್ತು ಲಾಗಿನ್ ಮತ್ತೆ ಚಲಾಯಿಸಿದರೆ ಅದು ಬದಲಾಗದು.

/opt/cisco/anyconnect/bin/vpn state
curl -sS -o /dev/null -w '%{http_code}\n' --max-time 10 https://<internal-host>/
/opt/cisco/anyconnect/bin/vpn disconnect

ಸಂಪರ್ಕ ಕಡಿತದ ಮೊದಲು ಮತ್ತು ನಂತರ ಸ್ಥಿತಿ ಔಟ್‌ಪುಟ್ ಪರಿಶೀಲಿಸಿ. ಹಳೆಯ ಸೆಷನ್‌ನೊಂದಿಗೆ ಬಿಟ್ಟಿರುವ ಕ್ಲೈಂಟ್ ಮುಂದಿನ ಸಂಪರ್ಕವನ್ನು ನಿರಾಕರಿಸಬಹುದು, ಆದರೆ ಸ್ಕ್ರಿಪ್ಟ್ ಇನ್ನೂ ಯಶಸ್ಸನ್ನು ವರದಿ ಮಾಡುತ್ತದೆ, ಮತ್ತು ಕೇವಲ ನಿರ್ಗಮನ ಸಂಕೇತಗಳನ್ನು ನೋಡಿದರೆ ಈ ವೈಫಲ್ಯ ವಿಧ ಅದೃಶ್ಯ. ಎರಡನೆಯ ಓದುವಿಕೆಯನ್ನು ಮಾತ್ರ ನಂಬುವ ಬದಲು ಎರಡನ್ನೂ ಹೋಲಿಸಿ. ಶೆಲ್ ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿ ಅಲಿಯಾಸ್‌ಗಳು ದೈನಂದಿನ ಬಳಕೆಗೆ ಸಾಕು, ಆದರೆ ನಿಗದಿತ ಯಾವುದೇ ಕೆಲಸ ಬೇರೆ ಯಾವುದೇ ಮೇಲ್ವಿಚಾರಣಾ ರಹಿತ ಕೆಲಸದಂತೆಯೇ ಅದೇ ರುಜುವಾತು ಮತ್ತು ಗುರುತಿನ ಪರಿಶೀಲನೆಗೆ ಅರ್ಹವಾಗಿದೆ.

ಸ್ಥಿರ ಪಟ್ಟಿ ಸುರಕ್ಷಿತವಾಗಿರದಿದ್ದಾಗ

ಉತ್ತರ-ಫೈಲ್ ಇಂದಿನ ಪ್ರಾಂಪ್ಟ್ ಕ್ರಮವನ್ನು ಎನ್‌ಕೋಡ್ ಮಾಡುತ್ತದೆ. ಬದಲಾದ ಬ್ಯಾನರ್, ಒತ್ತಾಯದ ಪಾಸ್‌ವರ್ಡ್ ಬದಲಾವಣೆ ಅಥವಾ ಎರಡನೇ ಅಂಶದ ಸವಾಲು ಅದನ್ನು ಖಾತೆಯನ್ನು ಲಾಕ್ ಮಾಡಬಹುದಾದ ಲೂಪ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಸ್ಕ್ರಿಪ್ಟ್ ಮರುಪ್ರಾರಂಭಿಸುವ ಬದಲು ಮೊದಲ ಅನಿರೀಕ್ಷಿತ ಉತ್ತರದಲ್ಲಿ ನಿರ್ಗಮಿಸಬೇಕು.

ಕ್ಲೈಂಟ್ ಮುದ್ರಿಸಿದ್ದನ್ನು ಸೆರೆಹಿಡಿಯಿರಿ, ಶೂನ್ಯವಲ್ಲದ ಸ್ಥಿತಿ ಹಿಂತಿರುಗಿಸಿ ಮತ್ತು ನಿರ್ಧಾರವನ್ನು ಕರೆದವರಿಗೆ ಬಿಡಿ. ಗೇಟ್‌ವೇ ಎರಡನೇ ಅಂಶವನ್ನು ಒತ್ತಾಯಿಸುವಲ್ಲಿ, ಪ್ರಾಮಾಣಿಕ ಉತ್ತರವೆಂದರೆ ಆ ಪ್ರೊಫೈಲ್‌ಗೆ ಮೇಲ್ವಿಚಾರಣಾ ರಹಿತ ಲಾಗಿನ್ ಲಭ್ಯವಿಲ್ಲ, ಅನುಕ್ರಮಕ್ಕೆ ಇನ್ನೊಂದು ಸಾಲು ಬೇಕು ಎಂದಲ್ಲ.

ತಿರುಗುವಿಕೆ ಅದೇ ಪರಿಶೀಲನೆಗೆ ಸೇರುತ್ತದೆ. ರುಜುವಾತು ಸಂಗ್ರಹವಾಗಿದ್ದರೆ, ಅದನ್ನು ಯಾರು ಓದಬಹುದು, ಯಾವಾಗ ಬದಲಾಗುತ್ತದೆ ಮತ್ತು ಹೋಸ್ಟ್ ಮರುನಿರ್ಮಾಣವಾದಾಗ ಅದನ್ನು ಏನು ತೆಗೆಯುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಿ. ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಯಾರೂ ಮುಟ್ಟದ ಕಾರಣ ಒಂದು ವರ್ಷ ಕೆಲಸ ಮಾಡುವ ಸ್ಕ್ರಿಪ್ಟ್ ವಿನ್ಯಾಸವಲ್ಲ, ತಿರುಗುವಿಕೆ ನೀತಿಗಾಗಿ ಕಾಯುತ್ತಿರುವ ಅಪಘಾತ.

AnyConnect ಅಲ್ಲದ ಪ್ರೊಫೈಲ್‌ಗಳು

Cisco ನ ಎರಡು ಹಳೆಯ ರುಜುವಾತು ಶೈಲಿಗಳನ್ನು ಇದರೊಂದಿಗೆ ಗೊಂದಲ ಮಾಡಲಾಗುತ್ತದೆ. vpnc ಪ್ರೊಫೈಲ್ IPSec ID ಕೇಳುತ್ತದೆ, ಅದು ವಾಸ್ತವವಾಗಿ ಗುಂಪಿನ ಹೆಸರು, ನಂತರ ಗುಂಪು ರಹಸ್ಯ, ನಂತರ ನಿಮ್ಮ ಸ್ವಂತ ರುಜುವಾತುಗಳು, ಮತ್ತು ಮೂರೂ ಗೇಟ್‌ವೇ ನಡೆಸುವವರಿಂದ ಬರುತ್ತವೆ. ಹಳೆಯ Cisco IPsec AnyConnect ಗಿಂತ ಬೇರೆ ಪ್ರೋಟೋಕಾಲ್, ಆದ್ದರಿಂದ vpnc ಕೇವಲ-AnyConnect ಸೇವೆಯನ್ನು ತಲುಪಲಾರದು; openconnect --protocol=anyconnect ಆ ಕೆಲಸಕ್ಕೆ ಮುಕ್ತ ಕ್ಲೈಂಟ್.

.pcf ಫೈಲ್ ಹಳೆಯ ಕ್ಲೈಂಟ್ ಪ್ರೊಫೈಲ್ ವಿವರಿಸುತ್ತದೆ. ಅದರೊಳಗಿನ ಹೋಸ್ಟ್, ಗುಂಪಿನ ಹೆಸರು ಮತ್ತು ಗುಂಪು ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು Cisco IPsec ಮಾತನಾಡುವ ಕ್ಲೈಂಟ್‌ನಲ್ಲಿ ಕೈಯಿಂದ ಮತ್ತೆ ನಮೂದಿಸಬಹುದು, ಆದರೂ ಫೈಲ್ ಸಾರ್ವತ್ರಿಕ ಆಮದು ಅಲ್ಲ ಮತ್ತು ಯಾವುದೇ ಪೂರ್ವನಿರ್ಧಾರಿತವಲ್ಲದ ಪೋರ್ಟ್ ಅಥವಾ ಸುರಂಗ ಮೋಡ್ ಸಾಮಾನ್ಯವಾಗಿ ವರ್ಗಾವಣೆಯಲ್ಲಿ ಮಾಯವಾಗುತ್ತದೆ.

ಗೇಟ್‌ವೇ ನಿಜವಾಗಿ ಏನು ನೀಡುತ್ತದೆ ಎಂಬುದರಿಂದ ಪ್ರಾರಂಭಿಸಿ, ನಂತರ ಆ ಪ್ರೋಟೋಕಾಲ್ ಮಾತನಾಡುವ ಕ್ಲೈಂಟ್ ಆಯ್ಕೆ ಮಾಡಿ. ಬೇರೆ ಸೈಟ್‌ನಿಂದ ಪ್ರೊಫೈಲ್ ನಕಲಿಸುವುದು ಜನರು ಎಂದಿಗೂ ಸಮಸ್ಯೆಯಾಗದ ರುಜುವಾತುಗಳನ್ನು ಡೀಬಗ್ ಮಾಡಲು ತಲುಪುವ ದಾರಿ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು