HTTP CONNECT laguntzaile batek SSH zerbitzari nahienera tunel bat itzuli ondoren, eman korronte hori Paramikori:

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.

Ordeztu adibideko ostalaria eta kargatu hedapenaren known-hosts datu zuzenak. tunnel jada zerbitzari berera eraman behar du. connect-ri pasatzen zaion ostalari-izenak SSH ostalari-gakoa identifikatzen du, ez proxy-a.

sock interfazeak socket ireki bat edo socket antzeko objektu bat onartzen du. Ez du zuretzat HTTP negoziatzen. Itzuli aurretik, konektagailuak hau egin behar du:

  1. Proxy-era konektatu eta helmugarako CONNECT eskaera baliodun bat bidali.
  2. Onartutako proxy autentifikazio oro osatu eta tunel-egoera arrakastatsua balioztatu.
  3. Proxy goiburu atal osoa irakurri, irakurketa partzialak kudeatu eta muga haraindiko byteak gorde.
  4. Konfigurazioa mugatu eta baztertutako/errore-socketak bere garbiketa-bidetik itxi.

Erabili mantendutako konektagailu bat lan horretarako. Harrera-buffer bakarrean ingelesezko arrakasta-esaldi bat bilatzeak zatitutako egoera-lerroak, arrazoi-testu aldakorra eta goiburu osatugabeak galdu egiten ditu. Proxy TCP konexio arrakastatsu bat ez da onartutako SSH tunela.

Proxy-ak eskatutako SSH portua baimendu behar du; web nabigatzeko baimenak ez du 22. porturako CONNECT sarbidea ezartzen. 407 bat SSH saio-hasiera baino lehen gertatzen da, eta SSH kontu-hutsegitea tunelaren ondoren gertatzen da. Mantendu kontu horiek bereizita.

Itxi SSH bezeroa eta konektagailuaren jabetzako baliabideak amaitzean. Zeregin batek bere irakurketak gelditzeak ez du berez konexio bizirik ixten.

Erlazionatutako artikuluak