قۇرۇلغان HTTP CONNECT تونېلىنى Paramiko غا يەتكۈزۈش
Paramiko نى رۇخسەت قىلىنغان HTTP CONNECT يولى ئارقىلىق ئۇلاڭ، SSH host ئاچقۇچىنى دەلىللەشنى ساقلاڭ.
HTTP CONNECT ياردەمچىسى مەقسەت قىلىنغان SSH مۇلازىمېتىرىغا تونېل قايتۇرغاندىن كېيىن، شۇ ئېقىمنى 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.مىسال host نى ئالماشتۇرۇڭ ۋە ئورۇنلاشتۇرۇشنىڭ توغرا known-hosts سانلىق مەلۇماتىنى يۈكلەڭ. tunnel ئاللىبۇرۇن شۇ مۇلازىمېتىرغا يېتەكلىشى كېرەك. connect غا بېرىلگەن host نامى SSH host ئاچقۇچىنى بېكىتىدۇ، proxy نى ئەمەس.
sock كۆرۈنمە يۈزى ئوچۇق socket ياكى socket قا ئوخشاش نەرسىنى قوبۇل قىلىدۇ. ئۇ سىز ئۈچۈن HTTP سۆھبەت قىلمايدۇ. قايتۇرۇشتىن بۇرۇن، ئۇلىغۇچ چوقۇم:
- proxy غا ئۇلىنىپ، مەنزىل ئۈچۈن ئىناۋەتلىك CONNECT تەلەپنى ئەۋەتىشى كېرەك.
- قوللايدىغان ھەر قانداق proxy دەلىللەشنى تاماملاپ، مۇۋەپپەقىيەتلىك تونېل ھالىتىنى جەزملەشتۈرۈشى كېرەك.
- پۈتۈن proxy باش بېتى قىسمىنى ئوقۇشى، قىسمەن ئوقۇشنى بىر تەرەپ قىلىشى ۋە چەكتىن ھالقىغان بايتلارنى ساقلىشى كېرەك.
- تەڭشەكنى چەكلەپ، رەت قىلىنغان/خاتا socket لارنى تازىلاش يولى ئارقىلىق تاقىشى كېرەك.
بۇ خىزمەت ئۈچۈن ئاسرايدىغان ئۇلىغۇچنى ئىشلىتىڭ. بىر قوبۇل قىلىش بۇفېرىدا ئىنگلىزچە مۇۋەپپەقىيەت ئىبارىسىنى ئىزدەش بۆلۈنگەن ھالەت قۇرلىرىنى، ئۆزگىرىدىغان سەۋەب تېكىستىنى ۋە تولۇق بولمىغان باش بەتلەرنى ئۆتكۈزۈپ قويىدۇ. مۇۋەپپەقىيەتلىك proxy TCP ئۇلىنىشى قوبۇل قىلىنغان SSH تونېلى ئەمەس.
proxy تەلەپ قىلىنغان SSH پورتىغا رۇخسەت قىلىشى كېرەك؛ تور كۆرگەش رۇخسىتى 22 پورتىغا CONNECT كىرىشنى قۇرمايدۇ. 407 SSH كىرىشتىن بۇرۇن يۈز بېرىدۇ، SSH ھېساباتىنىڭ مەغلۇبىيىتى بولسا تونېلدىن كېيىن يۈز بېرىدۇ. بۇ ھېساباتلارنى ئايرىپ تۇتۇڭ.
تۈگەتكەندە SSH خېرىدارى ۋە ئۇلىغۇچقا تەۋە بايلىقلارنى تاقاڭ. بىر ۋەزىپىنىڭ ئوقۇشىنى توختىتىشى ئۆزىلا تىرىك ئۇلىنىشنى تاقىمايدۇ.