Ko pomočnik HTTP CONNECT vrne tunel na želeni strežnik SSH, predajte ta tok Paramiku:

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.

Zamenjajte primer gostitelja in naložite pravilne podatke known-hosts namestitve. tunnel mora že voditi na isti strežnik. Ime gostitelja, posredovano v connect, določa ključ gostitelja SSH, ne proxyja.

Vmesnik sock sprejema odprt vtič ali objekt, podoben vtiču. Ne pogaja se o HTTP namesto vas. Preden ga vrne, mora priključek:

  1. Se povezati s proxyjem in poslati veljavno zahtevo CONNECT za cilj.
  2. Dokončati vsako podprto preverjanje proxyja in potrditi uspešen status tunela.
  3. Prebrati celoten razdelek glav proxyja, obdelati delne bralne operacije in ohraniti bajte onkraj meje.
  4. Omejiti nastavitev in zapreti zavrnjene/napačne vtiče po svoji poti čiščenja.

Za to delo uporabite vzdrževan priključek. Iskanje angleške fraze uspeha v enem sprejemnem medpomnilniku zgreši razdeljene vrstice stanja, spremenljivo besedilo razloga in nepopolne glave. Uspešna povezava TCP s proxyjem ni sprejeti tunel SSH.

Proxy mora dovoliti zahtevana vrata SSH; dovoljenje za brskanje po spletu ne vzpostavi dostopa CONNECT do vrat 22. 407 se pojavi pred prijavo SSH, medtem ko se napaka računa SSH pojavi po tunelu. Te račune imejte ločene.

Ko končate, zaprite odjemalca SSH in vire, ki jih ima priključek. To, da opravilo ustavi branje, samo po sebi ne zapre aktivne povezave.

Sorodni članki