Trosglwyddo twnnel HTTP CONNECT sefydledig i Paramiko
Cysylltwch Paramiko drwy lwybr HTTP CONNECT awdurdodedig gan gadw dilysu allwedd gwesteiwr SSH.
Ar ôl i gynorthwyydd HTTP CONNECT ddychwelyd twnnel i’r gweinydd SSH bwriadedig, rhowch y ffrwd honno i 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.Amnewidiwch y gwesteiwr enghreifftiol a llwythwch ddata known-hosts cywir y defnyddiad. Rhaid i tunnel eisoes arwain at yr un gweinydd. Mae’r enw gwesteiwr a roddir i connect yn nodi allwedd gwesteiwr SSH, nid y procsi.
Mae’r rhyngwyneb sock yn derbyn soced agored neu wrthrych tebyg i soced. Nid yw’n trafod HTTP drosoch. Cyn ei ddychwelyd, rhaid i’r cysylltydd:
- Gysylltu â’r procsi ac anfon cais CONNECT dilys ar gyfer y cyrchfan.
- Cwblhau unrhyw ddilysu procsi a gefnogir a gwirio statws twnnel llwyddiannus.
- Darllen adran bennawd gyfan y procsi, gan drin darlleniadau rhannol a chadw beitiau y tu hwnt i’r ffin.
- Ffinio’r gosodiad a chau socedi a wrthodwyd/â nam drwy ei lwybr glanhau.
Defnyddiwch gysylltydd a gynhelir ar gyfer y gwaith hwnnw. Mae chwilio un byffer derbyn am ymadrodd llwyddiant Saesneg yn colli llinellau statws hollt, testun rheswm amrywiol a phennawdau anghyflawn. Nid yw cysylltiad TCP procsi llwyddiannus yn dwll SSH a dderbyniwyd.
Rhaid i’r procsi ganiatáu’r porth SSH a ofynnwyd amdano; nid yw caniatâd pori’r we yn sefydlu mynediad CONNECT i borth 22. Mae 407 yn digwydd cyn mewngofnodi SSH, tra bod methiant cyfrif SSH yn digwydd ar ôl y twnnel. Cadwch y cyfrifon hynny ar wahân.
Caewch y cleient SSH a’r adnoddau sy’n eiddo i’r cysylltydd pan fyddwch wedi gorffen. Nid yw tasg yn stopio ei darlleniadau yn cau cysylltiad byw ynddo’i hun.