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 ക്ലയന്റും കണക്ടറുടെ ഉടമസ്ഥതയിലുള്ള വിഭവങ്ങളും അടയ്ക്കുക. ഒരു ജോലി അതിന്റെ വായനകൾ നിർത്തുന്നത് സ്വയം ഒരു ജീവനുള്ള കണക്ഷൻ അടയ്ക്കുന്നില്ല.

അനുബന്ധ ലേഖനങ്ങൾ