Þegar HTTP CONNECT-hjálpari hefur skilað göngum til fyrirhugaðs SSH-þjóns skal afhenda það streymi 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.

Skiptu út dæmishýslinu og hlattu réttum known-hosts-gögnum uppsetningarinnar. tunnel verður þegar að leiða að sama þjóni. Hýsilnafnið sem er sent til connect auðkennir SSH-hýsilsskilríkið, ekki milliþjóninn.

sock-viðmótið tekur við opinni sökkull eða sökkullíkum hlut. Það semur ekki um HTTP fyrir þig. Áður en því er skilað verður tengillinn að:

  1. Tengjast milliþjóninum og senda gilt CONNECT-beiðni til áfangastaðarins.
  2. Ljúka öllum studdum milliþjónsauðkenningum og staðfesta árangursríka göngustöðu.
  3. Lesa allan hausahluta milliþjónsins, meðhöndla hlutalestur og varðveita bæti handan markanna.
  4. Takmarka uppsetninguna og loka höfnuðum/villum sökkum um hreinsunarleið sína.

Notaðu viðhaldið tengil fyrir þá vinnu. Að leita að enskri árangursfrasa í einum móttökubuffer missir af skiptum stöðulínum, breytilegum ástæðutexta og ófullum hausum. Árangursrík TCP-tenging við milliþjón er ekki viðtekna SSH-göngin.

Milliþjónninn verður að leyfa umbeðna SSH-portið; vafranotkunarleyfi veitir ekki CONNECT-aðgang að porti 22. 407 kemur fram fyrir SSH-innskráningu, en bilun SSH-reiknings kemur fram eftir göngin. Haltu þessum reikningum aðskildum.

Lokaðu SSH-biðlaranum og auðlindum sem tengillinn á þegar þú ert búinn. Að verk stöðvi lestur sinn lokar ekki sjálft lifandi tengingu.

Tengdir greinar