OpenVPN auth-user-pass: ಫೈಲ್, stdin ಅಥವಾ ಪ್ರಾಂಪ್ಟ್? ಹೇಗೆ ಆರಿಸುವುದು
ಕನ್ಸೋಲ್ ಪ್ರಾಂಪ್ಟ್, ರುಜುವಾತು ಫೈಲ್, ಸ್ಟ್ರೀಮ್ ಮತ್ತು ನಿರ್ವಹಣಾ ಇಂಟರ್ಫೇಸ್ ನಡುವೆ ಆಯ್ಕೆಮಾಡಿ, ನಂತರ ತಪ್ಪು ಪಾಸ್ವರ್ಡ್ನಂತೆ ಕಾಣುವ ದೋಷಗಳನ್ನು ಸರಿಪಡಿಸಿ.
ಯಾವ ರುಜುವಾತು ಮೂಲವನ್ನು ಬಳಸಬೇಕೆಂದು ಮೂರು ವಿಷಯಗಳು ನಿರ್ಧರಿಸುತ್ತವೆ: ಕನ್ಸೋಲ್ನಲ್ಲಿ ವ್ಯಕ್ತಿ ಕುಳಿತಿದ್ದಾರೆಯೇ, ರಹಸ್ಯವು ಡಿಸ್ಕ್ನಲ್ಲಿ ಇರಬಹುದೇ, ಮತ್ತು ಇನ್ನೊಂದು ಪ್ರಕ್ರಿಯೆ ಪ್ರಾಂಪ್ಟ್ಗೆ ಉತ್ತರಿಸಬೇಕೇ. ತಪ್ಪಾಗಿ ಆಯ್ಕೆ ಮಾಡಿದರೆ, ಪಾಸ್ವರ್ಡ್ ಸಂಪೂರ್ಣ ಮಾನ್ಯವಾಗಿದ್ದರೂ ಕ್ಲೈಂಟ್ stdin ಸಮಸ್ಯೆಯನ್ನು ವರದಿ ಮಾಡುತ್ತದೆ, ಇದು ಹೆಚ್ಚಿನವರನ್ನು ಕಾರಣವಿಲ್ಲದೆ ಸರ್ವರ್ಗೆ ಕಳುಹಿಸುತ್ತದೆ. ಮೊದಲು ಮಾರ್ಗವನ್ನು ಆರಿಸಿ; ಯಾವ ಮಾರ್ಗವು ಅವುಗಳನ್ನು ಉತ್ಪಾದಿಸಿತು ಎಂದು ತಿಳಿದಾಗ ಮಾತ್ರ ದೋಷ ಸಂದೇಶಗಳು ಅರ್ಥಪೂರ್ಣವಾಗುತ್ತವೆ.
ಅದನ್ನು ನಿರ್ಧರಿಸುವ ಮೂರು ಷರತ್ತುಗಳು
ಕನ್ಸೋಲ್ ಪ್ರಾಂಪ್ಟ್ ಮನುಷ್ಯನ ಅಗತ್ಯವಿರುವ ಏಕೈಕ ಮಾರ್ಗ, ಆದ್ದರಿಂದ systemd ಘಟಕ ಅಥವಾ ಕಂಟೇನರ್ನಲ್ಲಿ ಮೌನವಾಗಿ ವಿಫಲವಾಗುವ ಏಕೈಕ ಮಾರ್ಗ ಅದು. ವ್ಯಕ್ತಿಯೊಬ್ಬರು ಕ್ಲೈಂಟ್ ಪ್ರಾರಂಭಿಸಿ ಪಾಸ್ವರ್ಡ್ ಟೈಪ್ ಮಾಡಿದರೆ, ಯಾವುದೇ ಫೈಲ್ ಒಳಗೊಂಡಿರುವುದಿಲ್ಲ ಮತ್ತು ಸೂಕ್ಷ್ಮ ಮಾಹಿತಿ ಡಿಸ್ಕ್ಗೆ ತಲುಪುವುದಿಲ್ಲ. ಕ್ಲೈಂಟ್ ಬೂಟ್ನಲ್ಲಿ ಪ್ರಾರಂಭವಾದರೆ, ಅದೇ ಪ್ರಾಂಪ್ಟ್ ನಿಲುಗಡೆಯಾಗುತ್ತದೆ, ಮತ್ತು ಸಮಯ ಮೀರುವಿಕೆ ಸಾಮಾನ್ಯವಾಗಿ ರುಜುವಾತು ದೋಷದ ಬದಲು ಸಾಮಾನ್ಯ ಸಂಪರ್ಕ ವೈಫಲ್ಯವಾಗಿ ಕಾಣುತ್ತದೆ.
ಪ್ರಕ್ರಿಯೆಯು ಮೇಲ್ವಿಚಾರಣೆಯಿಲ್ಲದೆ ಪ್ರಾರಂಭವಾದಾಗ ಮತ್ತು ನಿಯಂತ್ರಿತ ಅನುಮತಿ ಗುಂಪಿನ ಅಡಿಯಲ್ಲಿ ರಹಸ್ಯವು ಡಿಸ್ಕ್ನಲ್ಲಿ ಉಳಿಯಬಹುದಾದಾಗ ರುಜುವಾತು ಫೈಲ್ ಸರಿಯಾದ ಉತ್ತರವಾಗಿದೆ. ರಹಸ್ಯವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಬರೆಯಬಾರದಿದ್ದಾಗ - ಕೇವಲ ವಾಲ್ಟ್ ನೀತಿ, ಅಲ್ಪಕಾಲಿಕ ಟೋಕನ್ - ಕ್ಲೈಂಟ್ ತೆರೆಯಬಲ್ಲ ಸ್ಟ್ರೀಮ್ ಬೇಕು, ಇದು ಪ್ರಾಯೋಗಿಕವಾಗಿ ಪ್ರಕ್ರಿಯೆ ಬದಲಾವಣೆ ಅಥವಾ ಫೈಲ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್ಗೆ ಬರೆಯುವ ಸಹಾಯಕ ಎಂದರ್ಥ. ನಿರ್ವಹಣಾ ಇಂಟರ್ಫೇಸ್ ನಾಲ್ಕನೇ ಪ್ರಕರಣವನ್ನು ಒಳಗೊಳ್ಳುತ್ತದೆ: ಟನೆಲ್ನ ಜೀವನಚಕ್ರವನ್ನು ಈಗಾಗಲೇ ನಿರ್ವಹಿಸುವ ಮತ್ತು ಸಾಕೆಟ್ ಮೂಲಕ ಪ್ರಶ್ನೆಗಳಿಗೆ ಉತ್ತರಿಸಬಲ್ಲ ನಿಯಂತ್ರಕ.
- ಕನ್ಸೋಲ್ನಲ್ಲಿ ಮನುಷ್ಯ, ಸ್ವಯಂಚಾಲನೆ ಇಲ್ಲ: ಸಂವಾದಾತ್ಮಕ ಪ್ರಾಂಪ್ಟ್.
- ಮೇಲ್ವಿಚಾರಣೆಯಿಲ್ಲದ ಪ್ರಾರಂಭ, ರಹಸ್ಯವನ್ನು ಸಂಗ್ರಹಿಸಬಹುದು: ಮೋಡ್ 0600 ರುಜುವಾತು ಫೈಲ್.
- ಮೇಲ್ವಿಚಾರಣೆಯಿಲ್ಲದ ಪ್ರಾರಂಭ, ರಹಸ್ಯವನ್ನು ಸಂಗ್ರಹಿಸಲಾಗದು: ಪ್ರಕ್ರಿಯೆ ಬದಲಾವಣೆ ಅಥವಾ ರಹಸ್ಯ ಏಜೆಂಟ್ ಬರೆಯುವ fd.
- ಬೇರೆ ಪ್ರಕ್ರಿಯೆ ಕ್ಲೈಂಟ್ನ ಮಾಲೀಕತ್ವ ಹೊಂದಿದೆ: ನಿರ್ವಹಣಾ ಇಂಟರ್ಫೇಸ್.
ಎರಡು ಉತ್ತರಗಳು ಹೊಂದಿಕೆಯಾದಾಗ, ರಹಸ್ಯವನ್ನು argv ಮತ್ತು shell ಇತಿಹಾಸದ ಹೊರಗೆ ಇಡುವದನ್ನು ಆರಿಸಿ. ಪ್ರೋಗ್ರಾಂ ಆರ್ಗ್ಯುಮೆಂಟ್ ಆಗಿ ನೀಡಿದ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಪ್ರಕ್ರಿಯೆ ಪಟ್ಟಿಯ ಮೂಲಕ ಪ್ರತಿ ಸ್ಥಳೀಯ ಬಳಕೆದಾರರು ಓದಬಹುದು, ಮತ್ತು ಆ ಬಹಿರಂಗವನ್ನು ಹಿಂತಿರುಗಿಸುವುದು ಕಷ್ಟ.
ಪ್ರತಿ ಇನ್ಪುಟ್ ಮಾರ್ಗವು ನಿಜವಾಗಿ ಏನು ಮಾಡುತ್ತದೆ
--auth-user-pass ಒಂಟಿಯಾಗಿ ಕನ್ಸೋಲ್ನಲ್ಲಿ ಬಳಕೆದಾರ ಹೆಸರು ಮತ್ತು ಪಾಸ್ವರ್ಡ್ ಕೇಳುತ್ತದೆ. ಫೈಲ್ ಹೆಸರು ನೀಡಿದರೆ, ಕ್ಲೈಂಟ್ ಮೊದಲ ಸಾಲನ್ನು ಬಳಕೆದಾರ ಹೆಸರಾಗಿ, ಎರಡನೇ ಸಾಲನ್ನು ಪಾಸ್ವರ್ಡ್ ಆಗಿ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ; ಉಲ್ಲೇಖಗಳು, ಟಿಪ್ಪಣಿಗಳು ಅಥವಾ ಕೀ-ಮೌಲ್ಯ ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಯಾವುದೂ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. ಇದೇ ಇಡೀ ಸ್ವರೂಪ, ಆದ್ದರಿಂದ INI ಫೈಲ್ ನಿರೀಕ್ಷಿಸಿ ಸಂಪಾದಿಸುವ ಯಾರಾದರೂ ಅದನ್ನು ಮುರಿಯುತ್ತಾರೆ. ಇನ್ಲೈನ್ <auth-user-pass> ಬ್ಲಾಕ್ ಪ್ರೊಫೈಲ್ ಒಳಗೆ ಅದೇ ಎರಡು ಸಾಲುಗಳನ್ನು ಹೊಂದಿದೆ, ಇದು ಪ್ರೊಫೈಲ್ನ್ನೇ ರಹಸ್ಯವಾಗಿಸುತ್ತದೆ ಮತ್ತು ಖಾಸಗಿ ಕೀಯಂತೆಯೇ ಅದೇ ನಿರ್ವಹಣಾ ವರ್ಗಕ್ಕೆ ಇಡುತ್ತದೆ.
ಉಳಿದ ಎರಡು ಮಾರ್ಗಗಳು ಸ್ಟ್ರೀಮ್ ಮತ್ತು ಸಾಕೆಟ್. OpenVPN ಗೆ ಓದಬಹುದಾದ ಫೈಲ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್ ಮಾತ್ರ ಬೇಕು, ಆದ್ದರಿಂದ ಅದು ಪ್ರಕ್ರಿಯೆ ಬದಲಾವಣೆ, ಪೈಪ್ನಿಂದ ಬೆಂಬಲಿತ /dev/fd ನಮೂದು ಅಥವಾ ವಾಸ್ತವವಾಗಿ FIFO ಆಗಿರುವ ಫೈಲ್ ಹೆಸರನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ. ನಿರ್ವಹಣಾ ಇಂಟರ್ಫೇಸ್ ಸ್ವಭಾವದಿಂದ ಭಿನ್ನ: ಕ್ಲೈಂಟ್ ಮೌಲ್ಯಗಳನ್ನು ತಾನೇ ಓದುವ ಬದಲು ಮೇಲ್ವಿಚಾರಕ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಕೇಳುತ್ತದೆ. ಮರುಸಂಪರ್ಕದಲ್ಲಿ ಆ ವ್ಯತ್ಯಾಸ ಮುಖ್ಯ: ರುಜುವಾತು ಫೈಲ್, ರಹಸ್ಯ ಸಹಾಯಕ ಮತ್ತೆ ಬರೆಯಬಲ್ಲ FIFO, ಮತ್ತು ನಿರ್ವಹಣಾ ಇಂಟರ್ಫೇಸ್ ಮನುಷ್ಯರಹಿತವಾಗಿ ಮರುಪೂರೈಸಬಹುದು; ಪ್ರಕ್ರಿಯೆ ಬದಲಾವಣೆ ಸಾಧ್ಯವಿಲ್ಲ, ಏಕೆಂದರೆ ಡಿಸ್ಕ್ರಿಪ್ಟರ್ ಮೊದಲ ಓದಿನಲ್ಲೇ ಖರ್ಚಾಗುತ್ತದೆ.
ಫೈಲ್ ನಿಖರವಾಗಿ ಎರಡು ಸಾಲುಗಳಿರಬೇಕು
ಮುರಿದ ರುಜುವಾತು ಫೈಲ್ಗಳ ಹೆಚ್ಚಿನವನ್ನು ಎರಡು ವೈಫಲ್ಯ ವಿಧಾನಗಳು ಒಳಗೊಳ್ಳುತ್ತವೆ. Windows ಸಂಪಾದಕವು CRLF ಅಂತ್ಯಗಳನ್ನು ಬಿಡುತ್ತದೆ, ಕ್ಯಾರೇಜ್ ರಿಟರ್ನ್ ಪಾಸ್ವರ್ಡ್ನ ಭಾಗವಾಗುತ್ತದೆ, ಮತ್ತು ಪರದೆಯಲ್ಲಿ ಸರಿಯಾಗಿ ಕಾಣುವ ಮೌಲ್ಯವನ್ನು ಸರ್ವರ್ ತಿರಸ್ಕರಿಸುತ್ತದೆ. ಖಾಲಿ ಎರಡನೇ ಸಾಲು - ಪಾಸ್ವರ್ಡ್ ಇರಬೇಕಾದಲ್ಲಿ ಖಾಲಿ ಸಾಲು - ಕ್ಲೈಂಟ್ ಅನ್ನು ಖಾಲಿ ಪಾಸ್ವರ್ಡ್ನೊಂದಿಗೆ ಬಿಡುತ್ತದೆ, ಪರದೆಯ ಮೌಲ್ಯ ಸರಿಯಾಗಿ ಕಂಡರೂ ಸರ್ವರ್ ಅದನ್ನು ತಿರಸ್ಕರಿಸುತ್ತದೆ. ಪಾಸ್ವರ್ಡ್ ನಂತರದ ಹೆಚ್ಚುವರಿ ಹೊಸ ಸಾಲು ನಿರುಪದ್ರವಿ. ಫೈಲ್ ಅನ್ನು ಸಂಪಾದಕದಿಂದ ಅಲ್ಲ, shell ನಿಂದ ಬರೆಯಿರಿ ಮತ್ತು ಬೈಟ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ:
install -m 600 /dev/null /etc/openvpn/client.creds
printf '%s\n%s\n' "$VPN_USER" "$VPN_PASS" > /etc/openvpn/client.creds
od -c /etc/openvpn/client.creds | head -3ಮಾರ್ಗವು ವಿಷಯದಷ್ಟೇ ಮುಖ್ಯ. ಸಾಪೇಕ್ಷ ಮಾರ್ಗವು ಪ್ರಕ್ರಿಯೆಯ ಕಾರ್ಯ ನಿರ್ದೇಶಿಕೆಗೆ ಸಂಬಂಧಿಸಿ ಪರಿಹರಿಸಲ್ಪಡುತ್ತದೆ, ಅದು ಸೇವೆಗೆ ನೀವು ಪರೀಕ್ಷಿಸಿದ ನಿರ್ದೇಶಿಕೆಯೇ ಆಗಿರುವುದು ಅಪರೂಪ. ಸಂಪೂರ್ಣ ಮಾರ್ಗವನ್ನು ಬಳಸಿ, ಫೈಲ್ ಅನ್ನು ಕ್ಲೈಂಟ್ ನಡೆಸುವ ಖಾತೆಯ ಮಾಲೀಕತ್ವಕ್ಕೆ ಮಾಡಿ, ಮತ್ತು ಗುಂಪು ಹಾಗೂ ಇತರರು ಓದದಂತೆ ಮೋಡ್ 0600 ಇರಿಸಿ. OpenVPN 2.6 ಕೈಪಿಡಿ ಸೂಚನೆಯ ಸ್ವೀಕೃತ ಸ್ವರೂಪಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ; ಮೂರನೆಯದನ್ನು ಕಂಡುಹಿಡಿಯುವ ಮೊದಲು ಅದನ್ನು ಪರಿಶೀಲಿಸಿ.
ಸರ್ವರ್ ಅನ್ನು ದೂಷಿಸುವ ಮೊದಲು ಫೈಲ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಿ. openvpn --config client.ovpn --auth-user-pass /etc/openvpn/client.creds --verb 4 ಚಲಾಯಿಸಿದಾಗ ಫೈಲ್ ತೆರೆಯಲಾಗಿದೆಯೇ ಮತ್ತು ನಂತರ ರುಜುವಾತುಗಳು ಸ್ವೀಕರಿಸಲ್ಪಟ್ಟಿವೆಯೇ ಎಂದು ಮುದ್ರಿಸುತ್ತದೆ, ಇದು ಮುಂದೆ ಯಾವ ಪದರವನ್ನು ಬದಲಾಯಿಸಬೇಕೆಂದು ಹೇಳುತ್ತದೆ.
ಸ್ಟ್ರೀಮ್ಗಳು, stdin ಮತ್ತು ಅವು ಉತ್ಪಾದಿಸುವ ದೋಷಗಳು
ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಪೈಪ್ಗೆ ಹಾಕುವುದು ಹೆಚ್ಚಿನವರು ಮೊದಲು ಪ್ರಯತ್ನಿಸುವ ಕೆಲಸ ಮತ್ತು ಅತಿ ಹೆಚ್ಚು ಆಶ್ಚರ್ಯಗಳ ಮಾರ್ಗ. ಪ್ರಕ್ರಿಯೆ ಬದಲಾವಣೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಏಕೆಂದರೆ ಕ್ಲೈಂಟ್ಗೆ ಓದಬಹುದಾದ ಡಿಸ್ಕ್ರಿಪ್ಟರ್ ಮಾತ್ರ ಬೇಕು: openvpn --config client.ovpn --verb 3 --auth-user-pass <(printf '%s\n%s\n' "$VPN_USER" "$VPN_PASS"). /dev/stdin ರವಾನಿಸುವುದು ಕ್ಲೈಂಟ್ ಕೇಳುವ ಕ್ಷಣದಲ್ಲಿ stdin ಇನ್ನೂ ತೆರೆದಿದ್ದು ಓದಬಹುದಾಗಿದ್ದರೆ ಮಾತ್ರ ಕೆಲಸ ಮಾಡುತ್ತದೆ, ಅದನ್ನು ಈಗಾಗಲೇ ಬಳಸಿಕೊಂಡ ಪೈಪ್ಲೈನ್ನಲ್ಲಿ ಇದು ನಿಜವಲ್ಲ.
ERROR: could not read Auth username from stdin ಗೆ ಎರಡು ವಿಭಿನ್ನ ಕಾರಣಗಳಿವೆ. ಕೆಲವು 2.3.x ಕ್ಲೈಂಟ್ಗಳಲ್ಲಿ ಸಂದೇಶವು stdin ನಿರ್ವಹಣೆಯ ದೋಷದಿಂದ ಬಂದಿತು, ಅದನ್ನು ನಂತರದ 2.3 ಬಿಡುಗಡೆಗಳು ಸರಿಪಡಿಸಿದವು, ಆದ್ದರಿಂದ ಅಷ್ಟು ಹಳೆಯ ಕ್ಲೈಂಟ್ ಅಪ್ಗ್ರೇಡ್ನಿಂದ ಮಾತ್ರ ಸುಧಾರಿಸುತ್ತದೆ. ಪ್ರಸ್ತುತ ಕ್ಲೈಂಟ್ನಲ್ಲಿ ಅದೇ ಪದಗುಚ್ಛವು ಕ್ಲೈಂಟ್ ಕನ್ಸೋಲ್ ಇನ್ಪುಟ್ ಕೇಳಿತು ಮತ್ತು stdin ಟರ್ಮಿನಲ್ ಆಗಿರಲಿಲ್ಲ ಎಂದು ಅರ್ಥ - ನಿಖರವಾಗಿ systemd ಘಟಕ, cron ಕಾರ್ಯ ಅಥವಾ -t ಇಲ್ಲದೆ ಪ್ರಾರಂಭಿಸಿದ ಕಂಟೇನರ್ನಲ್ಲಿನ ಪರಿಸ್ಥಿತಿ.
auth-nocache ಮುರಿದ ಪಾಸ್ವರ್ಡ್ನಂತೆ ಕಾಣುವ ಮೂರನೇ ಲೂಪ್ ಸೇರಿಸುತ್ತದೆ. ಬಳಕೆಯ ನಂತರ ರುಜುವಾತುಗಳನ್ನು ಸ್ಮೃತಿಯಿಂದ ಎಸೆಯುತ್ತದೆ, ಆದ್ದರಿಂದ ನೆಟ್ವರ್ಕ್ ಬದಲಾವಣೆಯಿಂದ ಉಂಟಾದ ಮರುಸಂಪರ್ಕಕ್ಕೆ ಮತ್ತೆ ಪ್ಲೇ ಮಾಡಲು ಏನೂ ಇರುವುದಿಲ್ಲ ಮತ್ತು ಪ್ರಾಂಪ್ಟ್ ಮರಳುತ್ತದೆ. ಇದು ವಿನ್ಯಾಸದಂತೆ ಕೆಲಸ ಮಾಡುವ ಸೂಚನೆ. auth-nocache ಕ್ಲೈಂಟ್ ಸ್ಮೃತಿಯಲ್ಲಿ ಇಟ್ಟುಕೊಳ್ಳುವದನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ, ಸರ್ವರ್ ಅಥವಾ ಗುರುತು ಪೂರೈಕೆದಾರರು ಖಾತೆಯ ಬಗ್ಗೆ ಯೋಚಿಸುವದನ್ನು ಅಲ್ಲ, ಆದ್ದರಿಂದ ಇಡೀ ಪರಿಹಾರವೆಂದರೆ ಅದೇ ಫೈಲ್ ಅನ್ನು ಮರುಪೂರೈಸುವುದು, ಮರುಪ್ರಾರಂಭದಲ್ಲಿ ಮತ್ತೆ ಓದಲಾಗುತ್ತದೆ - ಮತ್ತು ನಿರ್ವಹಿತ ಸಂಪರ್ಕಕ್ಕೆ ಆ ಪೂರೈಕೆ ಅನುಮೋದಿತ ರಹಸ್ಯ ಭಂಡಾರದಿಂದ ಬರಬೇಕು, ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿನ ಪಾಸ್ವರ್ಡ್ನಿಂದ ಅಲ್ಲ.
ಪ್ರಾಂಪ್ಟ್ ಬೇರೆ ಪ್ರಕ್ರಿಯೆಯ ಮಾಲೀಕತ್ವದಲ್ಲಿದ್ದಾಗ ನಿರ್ವಹಣಾ ಇಂಟರ್ಫೇಸ್
ಟನೆಲ್ ಅನ್ನು ಈಗಾಗಲೇ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ನಿಯಂತ್ರಕವು ಅದರ ಪ್ರಶ್ನೆಗಳಿಗೂ ಉತ್ತರಿಸಬಹುದು. ಕ್ಲೈಂಟ್ ಅನ್ನು --management 127.0.0.1 7505 ಜೊತೆಗೆ ಪ್ರಾರಂಭಿಸಿ, ಸ್ಥಿತಿ ಸಾಲುಗಳನ್ನು ಓದಿ, ಮತ್ತು >PASSWORD:Need 'Auth' username/password ಗೆ ಗಮನ ಕೊಡಿ. ನಿಯಂತ್ರಕವು ಪ್ರತ್ಯೇಕ ಆಜ್ಞಾ ಸಾಲುಗಳಲ್ಲಿ username "Auth" alice ನಂತರ password "Auth" ... ಜೊತೆಗೆ ಉತ್ತರಿಸುತ್ತದೆ. 'Auth' ಟೋಕನ್ ವಿನಂತಿಯಿಂದ ಗುರುತಿಸುವಿಕೆಯನ್ನು ಪ್ರತಿಧ್ವನಿಸುತ್ತದೆ ಮತ್ತು ಹೊಂದಿಕೆಯಾಗಬೇಕು, ಇಲ್ಲದಿದ್ದರೆ ಉತ್ತರವನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಕ್ಲೈಂಟ್ ಕಾಯುತ್ತದೆ.
ಬೆಲೆ ಎಂದರೆ ಈಗ ನಿಮ್ಮ ಬಳಿ ಇರುವ ಸ್ಥಿತಿ ಯಂತ್ರ: ಸಂಪರ್ಕ ಕ್ರಮ, ಕ್ಲೈಂಟ್ ಮರುಪ್ರಾರಂಭಗಳು, ಮತ್ತು ಹೋಸ್ಟ್ನ ಇತರ ಬಳಕೆದಾರರು ತಲುಪಬಾರದ ಸ್ಥಳೀಯ ಸಾಕೆಟ್. ನೀವು ಖರೀದಿಸುವದು ರನ್ಟೈಮ್ನಲ್ಲಿ ಪೂರೈಸಿದ ರುಜುವಾತು, ಡಿಸ್ಕ್ನಲ್ಲಿ ಫೈಲ್ ಇಲ್ಲದೆ ಮತ್ತು ನೇತಾಡಬಹುದಾದ ಪ್ರಾಂಪ್ಟ್ ಇಲ್ಲದೆ. ನಿಮ್ಮ ಸ್ಟ್ಯಾಕ್ನಲ್ಲಿ ಬೇರೆ ಯಾವುದೂ ಈಗಾಗಲೇ ಈ ಪ್ರೋಟೋಕಾಲ್ ಮಾತನಾಡದಿದ್ದರೆ, ಈ ಮಾರ್ಗವು ನಿರ್ವಹಿಸಬೇಕಾದ ಘಟಕವನ್ನು ಸೇರಿಸುತ್ತದೆ.
ರುಜುವಾತು ಸಮಸ್ಯೆಯಂತೆ ಕಾಣುವ ವೈಫಲ್ಯಗಳು
ಎಂದಿಗೂ ಪೂರ್ಣಗೊಳ್ಳದ TLS ಕೈಹಿಡಿತ, ಅಥವಾ VERIFY ERROR: depth=0, error=certificate signature failure, ನಂಬಿಕೆಯ ಸಮಸ್ಯೆ ಮತ್ತು ಯಾವುದೇ ಬಳಕೆದಾರ ಹೆಸರು ಓದುವ ಮೊದಲೇ ಸಂಭವಿಸುತ್ತದೆ. UDP ಆಲಿಸುವಿಕೆಗೆ ಗುರಿಪಡಿಸಿದ proto tcp ಕ್ಲೈಂಟ್ ಅದೇ ಸ್ಥಳದಲ್ಲಿ ವಿಫಲವಾಗುತ್ತದೆ: ಪ್ಯಾಕೆಟ್ಗಳು ಎಂದಿಗೂ ದೃಢೀಕರಣ ಹಂತವನ್ನು ತಲುಪುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಪ್ರತಿ ಪಾಸ್ವರ್ಡ್ ಸಂಬಂಧದಿಂದ ತಪ್ಪಾಗಿ ಕಾಣುತ್ತದೆ. ರುಜುವಾತು ಕಳುಹಿಸುವ ಮೊದಲು ಪ್ರಮಾಣಪತ್ರ ಪರಿಶೀಲನೆಯನ್ನು ಆನ್ ಇರಿಸಿ; ಪರಿಚಿತ ಪ್ರಾಂಪ್ಟ್ ಪಾಸ್ವರ್ಡ್ ಯಾರಿಗೆ ತಲುಪುತ್ತದೆ ಎಂದು ಏನನ್ನೂ ಹೇಳುವುದಿಲ್ಲ. ರುಜುವಾತನ್ನು ಮುಟ್ಟುವ ಮೊದಲು ಪ್ರಮಾಣಪತ್ರ ಸರಪಳಿ, ಸಾಮಾನ್ಯ ಹೆಸರು ಮತ್ತು ಸಾಗಣೆಯನ್ನು ಪರಿಶೀಲಿಸಿ.
ಪ್ರೊಫೈಲ್ ಜೋಡಿಸುವ ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿನ shell ದೋಷಗಳು ಇನ್ನೊಂದು ಸುಳ್ಳು ಸುಳಿವು. [ ! -f "$file" ] ಒಳಗೆ ಕಾಣೆಯಾದ ಜಾಗ command not found ಉತ್ಪಾದಿಸುತ್ತದೆ, ಸ್ಕ್ರಿಪ್ಟ್ ಬೇಗ ನಿಲ್ಲುತ್ತದೆ, ಪ್ರೊಫೈಲ್ ಎಂದಿಗೂ ಮರುನಿರ್ಮಾಣವಾಗುವುದಿಲ್ಲ, ಮತ್ತು ಕ್ಲೈಂಟ್ ಹಿಂದಿನದರೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ. ಆ ದೋಷ shell ಗೆ ಸೇರಿದ್ದು, ದೃಢೀಕರಣಕ್ಕಲ್ಲ, ಮತ್ತು ಪಾಸ್ವರ್ಡ್ ಎಷ್ಟೇ ಬಾರಿ ಮತ್ತೆ ಟೈಪ್ ಮಾಡಿದರೂ ಅದು ಅಳಿಸುವುದಿಲ್ಲ.
ಈ ಹರಿವಿನ ಪ್ರತಿ ಪ್ರಾಂಪ್ಟ್ ಈ ರುಜುವಾತು ಅಲ್ಲ. ಖಾಸಗಿ ಕೀ ಪಾಸ್ಫ್ರೇಸ್, HTTP ಪ್ರಾಕ್ಸಿ ಲಾಗಿನ್ ಮತ್ತು ಸೇವೆಯ ಪಾಸ್ವರ್ಡ್ ವಿವಿಧ ಹಂತಗಳಲ್ಲಿ ಕೇಳುವ ಮೂರು ವಿಭಿನ್ನ ರಹಸ್ಯಗಳು, ಮತ್ತು ಕೀ ಪಾಸ್ಫ್ರೇಸ್ ಅನ್ನು ಸಾಮಾನ್ಯವಾಗಿ auth-user-pass ಬದಲು ಕ್ಲೈಂಟ್ ಅಥವಾ ಏಜೆಂಟ್ ನಿರ್ವಹಿಸುತ್ತದೆ. TLS ಅಧಿವೇಶನ ಬರುವ ಮೊದಲು ಪ್ರಾಂಪ್ಟ್ ಕಾಣಿಸಿಕೊಂಡರೆ, ನೀವು ತಪ್ಪು ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸುತ್ತಿದ್ದೀರಿ ಮತ್ತು ಯಾವುದೇ ಖಾತೆ ಮರುಹೊಂದಿಕೆ ಸಹಾಯ ಮಾಡುವುದಿಲ್ಲ. ತಪ್ಪು ಪ್ರಾಂಪ್ಟ್ ಹೊರಗಿಡಲಾದ ನಂತರ, ಉಳಿದ ಪರಿಶೀಲನೆಗಳು ಆರಂಭಿಕ ಪದರದಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತವೆ:
- ಕೊನೆಯ ರುಜುವಾತು ಸಾಲನ್ನಲ್ಲ, ಮೊದಲ ಪ್ರೋಟೋಕಾಲ್ ದೋಷವನ್ನು ಓದಿ: TLS, ನಂತರ ದೃಢೀಕರಣ, ನಂತರ push.
- ಫೈಲ್ ಎರಡು ಸಾಲುಗಳಾಗಿದೆ, ಕ್ಯಾರೇಜ್ ರಿಟರ್ನ್ಗಳಿಲ್ಲ, ಮತ್ತು ಸಂಪೂರ್ಣ ಮಾರ್ಗದಿಂದ ಉಲ್ಲೇಖಿಸಲಾಗಿದೆ ಎಂದು ದೃಢಪಡಿಸಿ.
- ಪ್ರೊಫೈಲ್ ಮತ್ತು ಆಜ್ಞಾ ಸಾಲು ಸೂಚನೆಯ ಬಗ್ಗೆ ಭಿನ್ನಾಭಿಪ್ರಾಯದಲ್ಲಿಲ್ಲ ಎಂದು ದೃಢಪಡಿಸಿ.
- "ರುಜುವಾತುಗಳು ಸ್ವೀಕರಿಸಲ್ಪಟ್ಟಿವೆ" ಮತ್ತು "ಸಂಚಾರ ಹರಿಯುತ್ತಿದೆ" ಎಂಬುದನ್ನು ಪ್ರತ್ಯೇಕಿಸಿ - ಮಾರ್ಗನಿರ್ದೇಶನ ಮತ್ತು DNS ನಂತರದ ಪದರ.
ಕ್ಲೈಂಟ್ push ಹಂತವನ್ನು ತಲುಪಿದಾಗ, ರುಜುವಾತುಗಳನ್ನು ನೋಡುವುದನ್ನು ನಿಲ್ಲಿಸಿ ಮತ್ತು ಸರ್ವರ್ ಕಳುಹಿಸಿದ ಮಾರ್ಗಗಳು ಮತ್ತು DNS ಸರ್ವರ್ಗಳನ್ನು ಓದಲು ಪ್ರಾರಂಭಿಸಿ. ಅದು ಮುಂದಿನ ಸಮಸ್ಯೆ, ಮತ್ತು ನೀವು ಈಗಷ್ಟೇ ಸರಿಪಡಿಸಿದ ಪಾಸ್ವರ್ಡ್ಗೆ ಅದಕ್ಕೆ ಯಾವುದೇ ಸಂಬಂಧವಿಲ್ಲ.