Baada ya msaidizi wa HTTP CONNECT kurudisha handaki kwa seva ya SSH inayolengwa, toa mtiririko huo kwa 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.

Badilisha mwenyeji wa mfano na upakie data sahihi ya known-hosts ya usambazaji. tunnel lazima tayari lielekee seva hiyo hiyo. Jina la mwenyeji linalopitishwa kwa connect hutambua ufunguo wa mwenyeji wa SSH, si proksi.

Kiolesura cha sock hukubali soketi iliyofunguliwa au kitu kinachofanana na soketi. Hakijadiliani HTTP kwa niaba yako. Kabla ya kuirudisha, kiunganishi lazima:

  1. Kiunganishe na proksi na kitume ombi halali la CONNECT kwa lengo.
  2. Kikamilishe uthibitishaji wowote wa proksi unaotumika na kuthibitisha hali ya handaki iliyofanikiwa.
  3. Kisome sehemu yote ya vichwa vya proksi, kikishughulikia usomaji wa sehemu na kuhifadhi baiti zilizo ng’ambo ya mpaka.
  4. Kipunguze usanidi na kifunge soketi zilizokataliwa/zenye hitilafu kupitia njia yake ya kusafisha.

Tumia kiunganishi kinachodumishwa kwa kazi hiyo. Kutafuta kifungu cha mafanikio cha Kiingereza katika bafa moja ya upokeaji hukosa mistari ya hali iliyogawanywa, maandishi ya sababu yanayobadilika na vichwa visivyokamilika. Muunganisho wa TCP wa proksi uliofanikiwa si handaki la SSH linalokubaliwa.

Proksi lazima iruhusu bandari ya SSH iliyoombwa; ruhusa ya kuvinjari wavuti haianzishi ufikiaji wa CONNECT kwenye bandari 22. 407 hutokea kabla ya kuingia SSH, wakati kushindwa kwa akaunti ya SSH hutokea baada ya handaki. Weka akaunti hizo kando.

Funga mteja wa SSH na rasilimali zinazomilikiwa na kiunganishi ukimaliza. Kazi kuacha usomaji wake yenyewe haifungi muunganisho hai.

Makala zinazohusiana