Kui HTTP CONNECT-abivahend on tagastanud tunneli soovitud SSH-serverisse, andke see voog Paramikole:

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.

Asendage näidishost ja laadige juurutuse õiged known-hosts-andmed. tunnel peab juba viima samasse serverisse. Hostinimi, mis antakse connect-le, identifitseerib SSH-hostivõtme, mitte puhverserveri.

sock-liides võtab vastu avatud socketi või socketilaadse objekti. See ei läbi teie eest HTTP-d. Enne tagastamist peab konnektor:

  1. Puhverserveriga ühenduma ja saatma sihtkohale kehtiva CONNECT-päringu.
  2. Lõpetama kõik toetatud puhverserveri autentimised ja valideerima eduka tunneli oleku.
  3. Lugema kogu puhverserveri päiseosa, käsitledes osalisi lugemisi ja säilitades piirist kaugemale jäävad baidid.
  4. Piirama seadistamist ja sulgema tagasilükatud/vigased socketid oma puhastustee kaudu.

Kasutage selle töö jaoks hooldatavat konnektorit. Ingliskeelse õnnestumisfraasi otsimine ühest vastuvõtupuhvrist jätab vahele jaotatud olekuridad, muutuva põhjuseteksti ja puudulikud päised. Edukas puhverserveri TCP-ühendus ei ole vastuvõetud SSH-tunnel.

Puhverserver peab lubama taotletud SSH-porti; veebilehitsemise luba ei loo CONNECT-juurdepääsu pordile 22. 407 tekib enne SSH-sisselogimist, samas kui SSH-konto tõrge tekib pärast tunnelit. Hoidke need kontod eraldi.

Sulgege SSH-klient ja konnektorile kuuluvad ressursid, kui olete lõpetanud. Ülesande lugemiste peatamine ei sulge iseenesest aktiivset ühendust.

Seotud artiklid