Soubal en HTTP CONNECT-Helfer en Tunnel zum virgesinnen SSH-Server zréckginn huet, gitt dësen Stream un 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.

Ersetzt den Beispillhost an lued déi richteg known-hosts-Daten vun der Bereitstellung. tunnel muss schonn zum selwechte Server féieren. Den Hostnumm, deen un connect iwwergi gëtt, identifizéiert den SSH-Hostschlëssel, net de Proxy.

D’sock-Schnittstell akzeptéiert en oppene Socket oder en socketähnlechen Objet. Si handelt HTTP net fir Iech aus. Virum Zréckginn muss de Connector:

  1. Sech mam Proxy verbannen an eng gülteg CONNECT-Ufro fir d’Zil schécken.
  2. All ënnerstëtzt Proxy-Authentifikatioun ofschléissen an e erfollegräichen Tunnelstatus validéieren.
  3. De ganzen Proxy-Headerabschnitt liesen, deelweis Liesungen behandelen an d’Bytes iwwer d’Grenz eraus erhalen.
  4. Den Opbau begrenzen an déi ofgeleentt/feelerhaft Sockete iwwer säi Botzwee zoumaachen.

Benotzt fir déi Aarbecht en ënnerhalenen Connector. Eng englesch Erfollegsphrase an engem Empfangspuffer ze sichen, verpasst opgedeelte Statuslinnen, verännerlechen Ursaachtext an onvollstänneg Header. Eng erfollegräich Proxy-TCP-Verbindung ass net den akzeptéierten SSH-Tunnel.

De Proxy muss den ugefrote SSH-Port erlaben; eng Webbrowsing-Erlaabnis setzt keen CONNECT-Zougang op Port 22 op. En 407 geschitt virum SSH-Login, wärend en SSH-Kontfehler nom Tunnel geschitt. Halt dës Konten getrennt.

Maacht den SSH-Client an déi Ressourcen, déi dem Connector gehéieren, zou wann Dir fäerdeg sidd. Datt eng Aufgab hir Liesungen astellt, mécht net selwer eng lieweg Verbindung zou.

Ähnlech Artikelen