HTTP CONNECT ಸಹಾಯಕವು ಉದ್ದೇಶಿತ SSH ಸರ್ವರ್ಗೆ ಸುರಂಗವನ್ನು ಹಿಂತಿರುಗಿಸಿದ ನಂತರ, ಆ ಸ್ಟ್ರೀಮ್ ಅನ್ನು Paramiko ಗೆ ನೀಡಿ:

with paramiko.SSHClient() as client:
    client.load_system_host_keys()
    client.connect('ssh.example.com',
                   username='operator',
                   sock=tunnel,
                   banner_timeout=10,
                   auth_timeout=10)
    # Use the verified SSH connection.

ಉದಾಹರಣೆಯ ಹೋಸ್ಟ್ ಬದಲಾಯಿಸಿ ಮತ್ತು ನಿಯೋಜನೆಯ ಸರಿಯಾದ known-hosts ಡೇಟಾ ಲೋಡ್ ಮಾಡಿ. tunnel ಈಗಾಗಲೇ ಅದೇ ಸರ್ವರ್ಗೆ ಕೊಂಡೊಯ್ಯಬೇಕು. connect ಗೆ ನೀಡಿದ ಹೋಸ್ಟ್ನಾಮ್ SSH ಹೋಸ್ಟ್ ಕೀಯನ್ನು ಗುರುತಿಸುತ್ತದೆ, ಪ್ರಾಕ್ಸಿಯನ್ನಲ್ಲ.

sock ಇಂಟರ್ಫೇಸ್ ತೆರೆದ ಸಾಕೆಟ್ ಅಥವಾ ಸಾಕೆಟ್ನಂತಹ ವಸ್ತುವನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ. ಅದು ನಿಮಗಾಗಿ HTTP ಮಾತುಕತೆ ನಡೆಸುವುದಿಲ್ಲ. ಹಿಂತಿರುಗಿಸುವ ಮೊದಲು, ಸಂಪರ್ಕಕಾರಕವು:

  1. ಪ್ರಾಕ್ಸಿಗೆ ಸಂಪರ್ಕಿಸಿ ಗಮ್ಯಸ್ಥಾನಕ್ಕೆ ಮಾನ್ಯವಾದ CONNECT ವಿನಂತಿ ಕಳುಹಿಸಬೇಕು.
  2. ಬೆಂಬಲಿತ ಯಾವುದೇ ಪ್ರಾಕ್ಸಿ ದೃಢೀಕರಣವನ್ನು ಪೂರ್ಣಗೊಳಿಸಿ ಯಶಸ್ವಿ ಸುರಂಗ ಸ್ಥಿತಿಯನ್ನು ಮೌಲ್ಯೀಕರಿಸಬೇಕು.
  3. ಸಂಪೂರ್ಣ ಪ್ರಾಕ್ಸಿ ಹೆಡರ್ ವಿಭಾಗವನ್ನು ಓದಿ, ಭಾಗಶಃ ಓದುವಿಕೆಗಳನ್ನು ನಿರ್ವಹಿಸಿ ಮತ್ತು ಗಡಿಯ ಆಚೆಗಿನ ಬೈಟ್ಗಳನ್ನು ಸಂರಕ್ಷಿಸಬೇಕು.
  4. ಸೆಟಪ್ ಅನ್ನು ಮಿತಿಗೊಳಿಸಿ ತಿರಸ್ಕರಿಸಿದ/ದೋಷಯುಕ್ತ ಸಾಕೆಟ್ಗಳನ್ನು ತನ್ನ ಸ್ವಚ್ಛಗೊಳಿಸುವ ಮಾರ್ಗದ ಮೂಲಕ ಮುಚ್ಚಬೇಕು.

ಆ ಕೆಲಸಕ್ಕಾಗಿ ನಿರ್ವಹಿಸಲಾದ ಸಂಪರ್ಕಕಾರಕವನ್ನು ಬಳಸಿ. ಒಂದೇ ಸ್ವೀಕರಿಸುವ ಬಫರ್ನಲ್ಲಿ ಇಂಗ್ಲಿಷ್ ಯಶಸ್ಸಿನ ನುಡಿಗಟ್ಟನ್ನು ಹುಡುಕುವುದು ವಿಭಜಿತ ಸ್ಥಿತಿ ಸಾಲುಗಳು, ಬದಲಾಗುವ ಕಾರಣ ಪಠ್ಯ ಮತ್ತು ಅಪೂರ್ಣ ಹೆಡರ್ಗಳನ್ನು ತಪ್ಪಿಸುತ್ತದೆ. ಯಶಸ್ವಿ ಪ್ರಾಕ್ಸಿ TCP ಸಂಪರ್ಕವೇ ಸ್ವೀಕೃತ SSH ಸುರಂಗವಲ್ಲ.

ಪ್ರಾಕ್ಸಿ ವಿನಂತಿಸಿದ SSH ಪೋರ್ಟ್ ಅನ್ನು ಅನುಮತಿಸಬೇಕು; ವೆಬ್ ಬ್ರೌಸಿಂಗ್ ಅನುಮತಿ ಪೋರ್ಟ್ 22 ಗೆ CONNECT ಪ್ರವೇಶವನ್ನು ಸ್ಥಾಪಿಸುವುದಿಲ್ಲ. 407 SSH ಲಾಗಿನ್ಗೆ ಮೊದಲು ಸಂಭವಿಸುತ್ತದೆ, ಆದರೆ SSH ಖಾತೆ ವೈಫಲ್ಯ ಸುರಂಗದ ನಂತರ ಸಂಭವಿಸುತ್ತದೆ. ಆ ಖಾತೆಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ.

ಮುಗಿದಾಗ SSH ಕ್ಲೈಂಟ್ ಮತ್ತು ಸಂಪರ್ಕಕಾರಕದ ಒಡೆತನದ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಮುಚ್ಚಿ. ಕಾರ್ಯವು ತನ್ನ ಓದುವಿಕೆಗಳನ್ನು ನಿಲ್ಲಿಸುವುದು ಸ್ವತಃ ಜೀವಂತ ಸಂಪರ್ಕವನ್ನು ಮುಚ್ಚುವುದಿಲ್ಲ.

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