Vidaresende ein etablert HTTP CONNECT-tunnel til Paramiko
Kople Paramiko gjennom ei autorisert HTTP CONNECT-rute medan SSH-vertsnøkkelverifisering blir halden.
Når ein HTTP CONNECT-hjelpar har returnert ein tunnel til den tiltenkte SSH-tenaren, gje den straumen til 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.Byt ut døme-verten og last inn dei rette known-hosts-dataa for utrullinga. tunnel må allereie føre til same tenar. Vertnamnet som blir sendt til connect, identifiserer SSH-vertsnøkkelen, ikkje proxyen.
sock-grensesnittet tek imot ein open socket eller eit socketliknande objekt. Det forhandlar ikkje HTTP for deg. Før det blir returnert, må koplinga:
- Kople til proxyen og sende ei gyldig CONNECT-førespurnad for målet.
- Fullføre all støtta proxyautentisering og validere ein vellukka tunnelstatus.
- Lese heile proxy-headeravsnittet, handtere delvise lesingar og ta vare på byte utanfor grensa.
- Avgrens oppsettet og lukke avviste/feilaktige socketar gjennom sin eigen oppryddingsveg.
Bruk ein vedlikehalden kopling til det arbeidet. Å leite etter ein engelsk suksessfrase i éin mottaksbuffer overser delte statuslinjer, variabel årsakstekst og ufullstendige headarar. Ei vellukka proxy-TCP-tilkopling er ikkje den aksepterte SSH-tunnelen.
Proxyen må tillate den førespurde SSH-porten; nettlesartillating etablerer ikkje CONNECT-tilgang til port 22. Ein 407 oppstår før SSH-innlogging, medan ein SSH-kontofeil oppstår etter tunnelen. Hald desse kontoane åtskilde.
Lukk SSH-klienten og ressursane koplinga eig når du er ferdig. At ei oppgåve stoppar lesingane sine, lukkar ikkje i seg sjølv ei aktiv tilkopling.