Vakiintuneen HTTP CONNECT -tunnelin välittäminen Paramikolle
Yhdistä Paramiko valtuutetun HTTP CONNECT -reitin kautta säilyttäen SSH-isäntäavaimen varmennus.
Kun HTTP CONNECT -aputyökalu on palauttanut tunnelin aiottuun SSH-palvelimeen, anna kyseinen virta Paramikolle:
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.Korvaa esimerkkipalvelin ja lataa käyttöönoton oikeat known-hosts-tiedot. tunnel johtaa jo samaan palvelimeen. connect:lle annettu isäntänimi yksilöi SSH-isäntäavaimen, ei välityspalvelinta.
sock-rajapinta hyväksyy avoimen pistokkeen tai pistokkeen kaltaisen olion. Se ei neuvottele HTTP:tä puolestasi. Ennen palauttamista yhdistimen on:
- Yhdistettävä välityspalvelimeen ja lähetettävä kelvollinen CONNECT-pyyntö kohteelle.
- Suoritettava kaikki tuetut välityspalvelimen todennukset ja vahvistettava onnistunut tunnelin tila.
- Luettava välityspalvelimen koko otsikko-osio, käsiteltävä osittaiset luvut ja säilytettävä rajan ylittävät tavut.
- Rajoitettava asetusta ja suljettava hylätyt/virheelliset pistokkeet siivouspolkunsa kautta.
Käytä kyseiseen työhön ylläpidettyä yhdistintä. Englanninkielisen onnistumislauseen etsiminen yhdestä vastaanottopuskurista jättää huomaamatta jaetut tilalinjat, vaihtelevan syytekstin ja puutteelliset otsikot. Onnistunut välityspalvelimen TCP-yhteys ei ole hyväksytty SSH-tunneli.
Välityspalvelimen on sallittava pyydetty SSH-portti; verkkoselailulupa ei luo CONNECT-pääsyä porttiin 22. 407 tapahtuu ennen SSH-kirjautumista, kun taas SSH-tilin virhe tapahtuu tunnelin jälkeen. Pidä nämä tilit erillään.
Sulje SSH-asiakasohjelma ja yhdistimen omistamat resurssit, kun olet valmis. Tehtävän lukemisen pysäyttäminen ei itsessään sulje elävää yhteyttä.