တည်ဆောက်ပြီး HTTP CONNECT လိုဏ်ခေါင်းကို Paramiko ထံ ပေးပို့ခြင်း
SSH host key စစ်ဆေးမှုကို ထိန်းသိမ်းထားပြီး ခွင့်ပြုထားသော HTTP CONNECT လမ်းကြောင်းမှတစ်ဆင့် Paramiko ကို ချိတ်ဆက်ပါ။
HTTP CONNECT အကူအညီပေးသူက ရည်ရွယ်ထားသော SSH ဆာဗာသို့ လိုဏ်ခေါင်းတစ်ခု ပြန်ပေးပြီးနောက် ထို stream ကို 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 ထံ ပေးပို့သော hostname သည် SSH host key ကို ခွဲခြားသည်၊ proxy ကို မဟုတ်ပါ။
sock interface သည် ဖွင့်ထားသော socket သို့မဟုတ် socket နှင့်တူသော အရာဝတ္ထုကို လက်ခံသည်။ ၎င်းသည် သင့်အတွက် HTTP ကို ညှိနှိုင်းမပေးပါ။ ပြန်မပေးမီ connector သည်:
- Proxy သို့ ချိတ်ဆက်ပြီး ဦးတည်ရာသို့ တရားဝင် CONNECT တောင်းဆိုချက် ပို့ရမည်။
- ပံ့ပိုးထားသော proxy authentication ကို ပြီးစီးပြီး အောင်မြင်သော လိုဏ်ခေါင်းအခြေအနေကို အတည်ပြုရမည်။
- proxy header အပိုင်းတစ်ခုလုံးကို ဖတ်ရမည်၊ တစ်စိတ်တစ်ပိုင်း ဖတ်ခြင်းများကို ကိုင်တွယ်ပြီး နယ်နိမိတ်ကျော်လွန်သော byte များကို ထိန်းသိမ်းရမည်။
- Setup ကို ကန့်သတ်ပြီး ငြင်းပယ်ခံ/အမှားရှိသော socket များကို ၎င်း၏ ရှင်းလင်းရေးလမ်းကြောင်းဖြင့် ပိတ်ရမည်။
ထို အလုပ်အတွက် ထိန်းသိမ်းထားသော connector ကို အသုံးပြုပါ။ လက်ခံ buffer တစ်ခုတည်းတွင် အင်္ဂလိပ် အောင်မြင်မှုစကားစုကို ရှာခြင်းသည် ကွဲနေသော status လိုင်းများ၊ ပြောင်းလဲနိုင်သော အကြောင်းပြချက် စာသားနှင့် မပြည့်စုံသော header များကို လွတ်သွားစေသည်။ အောင်မြင်သော proxy TCP ချိတ်ဆက်မှုသည် လက်ခံထားသော SSH လိုဏ်ခေါင်း မဟုတ်ပါ။
Proxy သည် တောင်းဆိုထားသော SSH port ကို ခွင့်ပြုရမည်။ ဝဘ်ကြည့်ရှုခွင့်သည် port 22 သို့ CONNECT ဝင်ရောက်ခွင့်ကို မတည်ဆောက်ပါ။ 407 သည် SSH လော့ဂ်အင်မတိုင်မီ ဖြစ်ပေါ်သည်၊ SSH အကောင့် မအောင်မြင်မှုသည် လိုဏ်ခေါင်းပြီးနောက် ဖြစ်ပေါ်သည်။ ထို အကောင့်များကို သီးခြားထားပါ။
ပြီးဆုံးသောအခါ SSH client နှင့် connector ပိုင်ဆိုင်သော အရင်းအမြစ်များကို ပိတ်ပါ။ လုပ်ငန်းတစ်ခုက ၎င်း၏ ဖတ်ခြင်းများကို ရပ်တန့်ခြင်းသည် သက်ရှိ ချိတ်ဆက်မှုကို အလိုအလျောက် မပိတ်ပါ။