ಒಂದೇ ಸಾಧನಕ್ಕೆ ರಿವರ್ಸ್ SSH: ಲೂಪ್ಬ್ಯಾಕ್ ಶ್ರೋತ ಅಥವಾ ರೂಟ್ ಆದ VPN?
ಹೊರಕ್ಕೆ ಮಾತ್ರ ಡಯಲ್ ಮಾಡಬಲ್ಲ ಸಾಧನಕ್ಕೆ ಒಂದೇ ನಿರ್ವಹಣಾ ಪೋರ್ಟ್. ರಿವರ್ಸ್ ಸುರಂಗ ಸಾಕೇ ಅಥವಾ ನಿಜವಾದ ರೂಟ್ ಆದ ದಾರಿ ಬೇಕೇ ಎಂಬುದನ್ನು ಮೂರು ಷರತ್ತುಗಳು ನಿರ್ಧರಿಸುತ್ತವೆ.
ನಿಮ್ಮ ಸಾಧನವು ಕ್ಯಾರಿಯರ್ NAT ಹಿಂದೆ ಇದೆ, ಅದು ಹೊರಹೋಗುವ ಸಂಪರ್ಕಗಳನ್ನು ತೆರೆಯಬಲ್ಲದು, ಮತ್ತು ಯಾರೂ ತಲುಪಲಾಗದ SSH ಸರ್ವರ್ ಅನ್ನು ಚಲಾಯಿಸುತ್ತದೆ. ಬರುವ ವಿನಂತಿಯನ್ನು ಸಾಮಾನ್ಯವಾಗಿ "ಅದಕ್ಕೆ VPN ಕೊಡಿ" ಎಂದು ಹೇಳಲಾಗುತ್ತದೆ, ಅದು ಹಲವು ಉತ್ತರಗಳಲ್ಲಿ ಒಂದು. ಅದನ್ನು ಒಪ್ಪುವ ಮೊದಲು ಒಂದು ಆಡಳಿತಾತ್ಮಕ TCP ಪೋರ್ಟ್ ಬೇಕೇ ಅಥವಾ ಇಡೀ ಉಪಜಾಲಕ್ಕೆ ರೂಟ್ ಆದ ದಾರಿ ಬೇಕೇ ಎಂದು ನಿರ್ಧರಿಸಿ, ಏಕೆಂದರೆ ಅವು ಬೇರೆ ಬೇರೆ ಒಡ್ಡಿಕೆಯ ಬೇರೆ ಬೇರೆ ಯೋಜನೆಗಳು.
ರಿವರ್ಸ್ ಸುರಂಗವು ಸಣ್ಣ ಆವೃತ್ತಿಗೆ ಚೆನ್ನಾಗಿ ಉತ್ತರಿಸುತ್ತದೆ. ಸಾಧನವು ನಿಮ್ಮ ಕೇಂದ್ರಕ್ಕೆ ಡಯಲ್ ಮಾಡುತ್ತದೆ, ಕೇಂದ್ರವನ್ನು ಲೂಪ್ಬ್ಯಾಕ್ ಪೋರ್ಟ್ನಲ್ಲಿ ಆಲಿಸಲು ಕೇಳುತ್ತದೆ, ಮತ್ತು ಆ ಪೋರ್ಟ್ ಅನ್ನು ತನ್ನದೇ SSH ಸೇವೆಗೆ ಮರಳಿ ಕಳುಹಿಸುತ್ತದೆ. ನಂತರ ನಿರ್ವಾಹಕರು ಸಾರ್ವಜನಿಕ ಇಂಟರ್ನೆಟ್ ಮೂಲಕವಲ್ಲ, ಕೇಂದ್ರದ ಮೂಲಕ ಶ್ರೋತವನ್ನು ತಲುಪುತ್ತಾರೆ.
ಆಯ್ಕೆಯನ್ನು ನಿರ್ಧರಿಸುವ ಮೂರು ಷರತ್ತುಗಳು
ಯಾವುದೇ ಸಂರಚನೆಗೆ ಮೊದಲು ಇವುಗಳನ್ನು ಬರೆಯಿರಿ. ಅವು ಸೀಮಿತ ನಿರ್ವಹಣಾ ಪ್ರವೇಶ ಮತ್ತು ಜಾಲ ವಿಸ್ತರಣೆಯ ನಡುವಿನ ಗಡಿ, ಮತ್ತು ಅವನ್ನು ಬೆರೆಸುವುದು ಐದು ಸಾಲಿನ ಸುರಂಗವನ್ನು ಮಾಲೀಕರಿಲ್ಲದ ಚಪ್ಪಟೆ ಜಾಲವಾಗಿ ಮಾರ್ಪಡಿಸುವ ದಾರಿ.
| Condition | Reverse tunnel fits | Something else is needed |
|---|---|---|
| How many services must be reachable? | One, or a small fixed set on loopback | Anything that needs many ports or dynamic discovery |
| Who connects, and how are they authenticated? | Named administrators with their own hub accounts | Third parties, or anything needing per-flow audit you do not control |
| Does the device's own LAN need to be reachable? | No | Yes, so a routed VPN or a managed platform is the honest answer |
ಮೂರನೇ ಸಾಲು ಜನರು ಚರ್ಚಿಸುವ ಸಾಲು. ಸಾಧನದ SSH ಪೋರ್ಟ್ಗೆ ಸುರಂಗವು ಅದರ ನೆರೆಹೊರೆಯವರನ್ನು ನಿಮ್ಮ ಜಾಲಕ್ಕೆ ಸೇರಿಸುವುದಿಲ್ಲ, ಮತ್ತು ಹೆಚ್ಚಿನ ಮುಂದುವರಿಸುವಿಕೆಗಳ ಸರಪಳಿಯ ಮೂಲಕ ಹಾಗೆ ಕಾಣುವಂತೆ ಮಾಡಬಾರದು. ಅಗತ್ಯವು ನಿಜವಾಗಿಯೂ LAN ಆಗಿದ್ದರೆ, ಅದನ್ನು ಹೇಳಿ ಮತ್ತು ಬದಲಿಗೆ ಅದನ್ನೇ ವಿನ್ಯಾಸ ಮಾಡಿ.
ಕೇಂದ್ರದ ಬದಿ: ಮಿತಿಯ ರಿಲೇ ಖಾತೆ
ಪ್ರತಿ ಸಾಧನಕ್ಕೆ ಸಾರ್ವಜನಿಕ ಕೀ ಪ್ರಮಾಣೀಕರಣದೊಂದಿಗೆ ಮತ್ತು ಯಾವುದೇ ಸಂವಾದಾತ್ಮಕ ಅಧಿವೇಶನವಿಲ್ಲದೆ ಅದರದೇ ರಿಲೇ ಖಾತೆಯನ್ನು ನೀಡಿ. Match ಬ್ಲಾಕ್ ಆ ಖಾತೆಗೆ ಮಿತಿಗೊಂಡಿರುವುದರಿಂದ ಅನುಮತಿ ಚಿಕ್ಕದಾಗಿರುತ್ತದೆ, ಮತ್ತು ಖಾಸಗಿ ಕೀ ಅದರ ಸ್ಥಾನವಿರುವ ಸಾಧನದಲ್ಲಿಯೇ ಉಳಿಯುತ್ತದೆ.
Match User relay-dev-7
AuthenticationMethods publickey
PubkeyAuthentication yes
AllowTcpForwarding remote
PermitListen 127.0.0.1:21022
GatewayPorts no
MaxSessions 0
PermitTTY no
X11Forwarding no
AllowAgentForwarding no
MaxSessions 0 ಆಸಕ್ತಿದಾಯಕ ಸಾಲು. ಅದು ಶೆಲ್ ಮತ್ತು ಉಪವ್ಯವಸ್ಥೆ ಅಧಿವೇಶನಗಳನ್ನು ನಿರಾಕರಿಸುತ್ತದೆ, ಆದರೆ ಸಾಧನಕ್ಕೆ ಬೇಕಾದ ಮುಂದುವರಿಸುವಿಕೆಗೆ ಅನುಮತಿ ನೀಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಕಳ್ಳತನವಾದ ಕೀ ಸಂವಾದಾತ್ಮಕ ಲಾಗಿನ್ ಆಗಿ ಬದಲಾಗಲು ಸಾಧ್ಯವಿಲ್ಲ. PermitListen ಕೇಂದ್ರದ ಬದಿಯ ಶ್ರೋತದ ವಿಳಾಸ ಮತ್ತು ಪೋರ್ಟ್ ಅನ್ನು ಪಿನ್ ಮಾಡುತ್ತದೆ, ಮತ್ತು GatewayPorts no ಅದನ್ನು ಕೇಂದ್ರವಿರುವ ಜಾಲಕ್ಕೆ ತೆರೆಯುವ ಬದಲು ಲೂಪ್ಬ್ಯಾಕ್ನಲ್ಲಿಯೇ ಇರಿಸುತ್ತದೆ.
ಮರುಲೋಡ್ ಮಾಡುವ ಮೊದಲು ಪರಿಣಾಮಕಾರಿ ಸಂರಚನೆಯನ್ನು ಪರೀಕ್ಷಿಸಿ, ಮತ್ತು ಅದನ್ನು ಮಾಡುವಾಗ ಎರಡನೇ ಅಧಿವೇಶನವನ್ನು ತೆರೆದಿಡಿ. Match ಬ್ಲಾಕ್ ಆಕಸ್ಮಿಕವಾಗಿ ಎಲ್ಲರಿಗೂ ಅನ್ವಯವಾದರೆ, ಅಥವಾ ಆಯ್ಕೆಯ ಹೆಸರಿನಲ್ಲಿ ಟೈಪೊ ಇದ್ದರೆ, ನೀವು ಗಟ್ಟಿಗೊಳಿಸುತ್ತಿರುವ ಬಾಕ್ಸ್ನಿಂದ ನಿಮ್ಮನ್ನೇ ಹೊರಗೆ ಬೀಗ ಹಾಕಿಕೊಳ್ಳುವ ಸಾಂಪ್ರದಾಯಿಕ ದಾರಿ ಅದು. ಚಾಲನೆಯಲ್ಲಿರುವ ಸಂರಚನೆಯನ್ನು ಡಂಪ್ ಮಾಡಿ ಮತ್ತು ಈಗಷ್ಟೇ ಬರೆದ ಫೈಲ್ ಅನ್ನು ನಂಬುವ ಬದಲು ಆಯ್ಕೆಗಳನ್ನು ಮತ್ತೆ ಓದಿ. ಆಯ್ಕೆ ಬೆಂಬಲವು ಬಿಲ್ಡ್ಗಳ ನಡುವೆ ಭಿನ್ನವಾಗಿದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ, ಆದ್ದರಿಂದ ಹೊಸ ಸರ್ವರ್ನಲ್ಲಿ ಸ್ವೀಕರಿಸಿದ ಸಾಲನ್ನು ಹಳೆಯದು ಸುಮ್ಮನೆ ನಿರ್ಲಕ್ಷಿಸಬಹುದು.
ಸಾಧನದ ಬದಿ: ಗಟ್ಟಿಯಾಗಿ ವಿಫಲವಾಗುವ ಮುಂದುವರಿಸುವಿಕೆ
ಸಾಧನವು ಸಂಪರ್ಕವನ್ನು ತೆರೆದು ಶ್ರೋತವನ್ನು ಕೋರುತ್ತದೆ. ಆರ್ಗ್ಯುಮೆಂಟ್ನಲ್ಲಿನ ಎರಡು ವಿಳಾಸಗಳು -R ಬೇರೆ ಬೇರೆ ಅರ್ಥಗಳನ್ನು ಹೊಂದಿವೆ, ಮತ್ತು ಅವನ್ನು ಎಡದಿಂದ ಬಲಕ್ಕೆ ಓದುವುದು ಯಾವುದು ಯಾವುದೆಂದು ನೆನಪಿಡುವ ವೇಗವಾದ ದಾರಿ.
ssh -NT \
-o ExitOnForwardFailure=yes \
-o ServerAliveInterval=30 \
-o ServerAliveCountMax=3 \
-R 127.0.0.1:21022:127.0.0.1:22 \
[email protected]
ಎಡ ಜೋಡಿ ಕೇಂದ್ರವು ಆಲಿಸಬೇಕಾದ ಸ್ಥಳ. ಬಲ ಜೋಡಿ ವಿನಂತಿ ಬಂದಾಗ ಸಾಧನವು ಸಂಪರ್ಕಿಸುವ ಗುರಿ, ಅದು ಸಾಧನದ ಸ್ವಂತ ಬದಿಯಿಂದ ಪರಿಹರಿಸಲ್ಪಡುತ್ತದೆ. ಅವನ್ನು ಅದಲುಬದಲು ಮಾಡಿದರೆ ಸ್ವಚ್ಛವಾಗಿ ಮೇಲೇರಿ ತಪ್ಪು ಸ್ಥಳಕ್ಕೆ ಮುಂದುವರಿಸುವ ಸುರಂಗ ಉಂಟಾಗುತ್ತದೆ, ಅದು ವಿಫಲತೆಗಿಂತ ಕೆಟ್ಟದು.
ExitOnForwardFailure=yes ಕೋರಿದ ಶ್ರೋತವನ್ನು ಸ್ಥಾಪಿಸಲಾಗದಿದ್ದಾಗ ಆದೇಶವನ್ನು ಹೊರಹೋಗಲು ಒತ್ತಾಯಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಮರುಪ್ರಾರಂಭದ ಲೂಪ್ ಅರ್ಧ ಕೆಲಸ ಮಾಡುವ ಅಧಿವೇಶನವನ್ನು ಬಿಡುವ ಬದಲು ನಿಮಗೆ ಸತ್ಯವನ್ನು ಹೇಳುತ್ತದೆ. ಸ್ಥಳೀಯ SSH ಸೇವೆ ನಂತರ ಆರೋಗ್ಯವಾಗಿದೆಯೇ ಎಂಬುದರ ಬಗ್ಗೆ ಅದು ಏನನ್ನೂ ಹೇಳುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಅದನ್ನು ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಾಹಕ ಮತ್ತು ಆಗಾಗ್ಗೆ ನಿಜವಾದ ಸಂಪರ್ಕ ಪರೀಕ್ಷೆಯೊಂದಿಗೆ ಜೋಡಿಸಿ.
ಹೆಚ್ಚುವರಿ ಹಾಪ್ ತಪ್ಪಿಸಲು ಲೂಪ್ಬ್ಯಾಕ್ ಆಲಿಸುವ ವಿಳಾಸವನ್ನು ಎಂದಿಗೂ ವೈಲ್ಡ್ಕಾರ್ಡ್ನಿಂದ ಬದಲಾಯಿಸಬೇಡಿ. ಆ ಒಂದೇ ಬದಲಾವಣೆ ನಿರ್ವಹಣಾ ಮಾರ್ಗ ಮತ್ತು ಸಾರ್ವಜನಿಕವಾಗಿ ತಲುಪಬಹುದಾದ ಪೋರ್ಟ್ ನಡುವಿನ ವ್ಯತ್ಯಾಸ, ಮತ್ತು ಅದು ಸಾಮಾನ್ಯವಾಗಿ ಡೀಬಗ್ ಮಾಡುವಾಗ ಸಂಭವಿಸಿ ನಂತರ ಉಳಿಯುತ್ತದೆ. ಸಹೋದ್ಯೋಗಿ ಕೇಂದ್ರದ ಮೂಲಕ ಪೋರ್ಟ್ ತಲುಪಲಾಗದಿದ್ದರೆ, ಬೈಂಡ್ ಅನ್ನು ಅಗಲಗೊಳಿಸುವ ಬದಲು ಜಂಪ್ ಸಂರಚನೆಯನ್ನು ಸರಿಪಡಿಸಿ. ಈ ವಿನ್ಯಾಸದ ಸಂಪೂರ್ಣ ಭದ್ರತಾ ವಾದ ಲೂಪ್ಬ್ಯಾಕ್.
ಕೇಂದ್ರದ ಮೂಲಕ ನಿರ್ವಾಹಕ ಪ್ರವೇಶ
ಕೇಂದ್ರದಲ್ಲಿ ಸಾಮಾನ್ಯ ಖಾತೆ ಹೊಂದಿರುವ ನಿರ್ವಾಹಕರು ಅದರ ಮೂಲಕ ಮುಂದುವರಿಸಿದ ಪೋರ್ಟ್ಗೆ ಜಿಗಿಯಬಹುದು. ರಿಲೇ ಖಾತೆಯನ್ನು ಇದಕ್ಕೆ ಬಳಸುವುದಿಲ್ಲ, ಮತ್ತು ಅವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇಡುವುದರ ಅರ್ಥವೇ ಅದು.
ssh -J [email protected] -o HostKeyAlias=device-7 \
-p 21022 [email protected]
ನೀವು ಆಯ್ಕೆ ಮಾಡಿದ ಉಪನಾಮದ ಅಡಿಯಲ್ಲಿ ಸಾಧನದ ಹೋಸ್ಟ್ ಕೀಯನ್ನು ಪರಿಶೀಲಿಸಿ, ಏಕೆಂದರೆ ಆ ಕೀ ಸರಪಳಿಯ ಕೊನೆಯಲ್ಲಿ ಸಾಧನವನ್ನು ಗುರುತಿಸುತ್ತದೆ ಮತ್ತು ಸುರಂಗವು ಕೇವಲ ಸಾಗಣೆ. ತುದಿಯಿಂದ ತುದಿಗೆ ಲಾಗಿನ್ ಇನ್ನೂ ಎರಡೂ ತುದಿಗಳನ್ನು ಪ್ರಮಾಣೀಕರಿಸುತ್ತದೆ; ಹಂಚಿದ ಕೇಂದ್ರದಲ್ಲಿ ಕೊನೆಗೊಳ್ಳುವ ಸುರಂಗವು ಅದನ್ನು ತನ್ನಷ್ಟಕ್ಕೇ ವಿಶ್ವಾಸಾರ್ಹ ಮಾರ್ಗವಾಗಿಸುವುದಿಲ್ಲ.
ಜೀವನಚಕ್ರದ ಮಾಲೀಕತ್ವ ತೆಗೆದುಕೊಳ್ಳಿ
ಸಾಧನದ ಆದೇಶವನ್ನು ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಾಹಕದ ಅಡಿಯಲ್ಲಿ ನಿಖರವಾಗಿ ಒಂದು ಸಕ್ರಿಯ ನಿದರ್ಶನ ಮತ್ತು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಆಯ್ಕೆ ಮಾಡಿದ ಮರುಪ್ರಾರಂಭ ನೀತಿಯೊಂದಿಗೆ ಚಲಾಯಿಸಿ. ಕೀಪ್ಅಲೈವ್ ಆಯ್ಕೆಗಳು ಸತ್ತ ಸಹವರ್ತಿಯನ್ನು ಪತ್ತೆ ಮಾಡುತ್ತವೆ; ಅವು ಹೊರಟ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪುನರುಜ್ಜೀವನಗೊಳಿಸುವುದಿಲ್ಲ.
ನಂತರ ನಿವೃತ್ತಿ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಬರೆಯಿರಿ. ಪ್ರತಿ ಸಾಧನಕ್ಕೆ ಅದರದೇ ಶ್ರೋತ ಮತ್ತು ಅದರದೇ ಕೀ ಸಿಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಡಿಕಮಿಷನ್ ಎಂದರೆ ಆ ಖಾತೆಯನ್ನು ರದ್ದುಗೊಳಿಸಿ ಆ ಕೀಯನ್ನು ತೆಗೆದುಹಾಕುವುದು, ಇಡೀ ನೌಕಾಪಡೆ ಹಂಚಿಕೊಳ್ಳುವ ರಹಸ್ಯವನ್ನು ತಿರುಗಿಸುವುದಲ್ಲ.
ಕೊನೆಯದಾಗಿ, ಲೂಪ್ಬ್ಯಾಕ್ ನಿಮಗೆ ಏನು ಕೊಡುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿಡಿ. ಅದು ಜಾಲದ ಒಡ್ಡಿಕೆಯನ್ನು ಮಿತಿಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಹಂಚಿದ ಕೇಂದ್ರದಲ್ಲಿನ ಇತರ ಸ್ಥಳೀಯ ಬಳಕೆದಾರರ ಬಗ್ಗೆ ಏನನ್ನೂ ಮಾಡುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಕೇಂದ್ರದ ಸ್ವಂತ ಪ್ರವೇಶ ನೀತಿ ಇನ್ನೂ ಸರಿಯಾಗಿರಬೇಕು. sshd_config ಉಲ್ಲೇಖ ಮೇಲೆ ಬಳಸಿದ ಪ್ರತಿಯೊಂದು ಆಯ್ಕೆಯನ್ನು ದಾಖಲಿಸುತ್ತದೆ, ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಯಾವುದನ್ನಾದರೂ ಅಗಲಗೊಳಿಸುವ ಮೊದಲು ಮುಂದುವರಿಸುವಿಕೆ ವಿಭಾಗಗಳನ್ನು ಪೂರ್ಣವಾಗಿ ಓದುವುದು ಯೋಗ್ಯ.