In oprjochte HTTP CONNECT-tunnel oan Paramiko jaan
Ferbin Paramiko fia in autorisearre HTTP CONNECT-route wylst SSH-hostkaaiferifikaasje bewarre bliuwt.
As in HTTP CONNECT-helper in tunnel weromjûn hat nei de bedoelde SSH-tsjinner, jou dan dy stream oan 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.Ferfange de foarbyldhost en laad de krekte known-hosts-gegevens fan de útrôl. tunnel moat al nei deselde tsjinner liede. De hostnamme dy’t oan connect jûn wurdt, identifisearret de SSH-hostkaai, net de proxy.
De sock-ynterface akseptearret in iepen socket of in socket-lyk objekt. Hy ûnderhannelet gjin HTTP foar jo. Foardat er weromjûn wurdt, moat de ferbiner:
- Ferbine mei de proxy en in jildich CONNECT-fersyk foar de bestimming stjoere.
- Elke stipe proxy-autentikaasje foltôgje en in slagge tunnelstatus falidearje.
- It hiele proxy-kopseksje lêze, dielreads ferwurkje en bytes bûten de grins bewarje.
- De opset beheine en wegere/flauwe sockets fia syn skjinmakpaad slute.
Brûk in ûnderholden ferbiner foar dat wurk. It sykjen fan in Ingelske súksesfraze yn ien ûntfangstbuffer mist splitste statusrigels, feroarjende redentekst en ûnfolsleine koppen. In slagge proxy-TCP-ferbining is net de akseptearre SSH-tunnel.
De proxy moat de frege SSH-poarte tastean; tastimming foar webbroeksen set gjin CONNECT-toegong nei poarte 22 op. In 407 bart foar SSH-ynloggen, wylst in SSH-akkountflater nei de tunnel bart. Hâld dy akkounts skieden.
Slút de SSH-klient en de boarnen dy’t de ferbiner besit as jo klear binne. It stopjen fan de lêzen fan in taak slút sels gjin libbene ferbining.