SOCKS ပရောက်စီမှတစ်ဆင့် Fabric 2+ SSH ချိတ်ဆက်မှုများ
SSH စစ်ဆေးအတည်ပြုမှုကို ခရီးဆုံးနှင့် ချိတ်ထားပြီး SOCKS ပံ့ပိုးသော ချိတ်ဆက်ကိရိယာဖြင့် Fabric ၏ ProxyCommand ဂိတ်ဝေးကို အသုံးပြုပါ။
Fabric ၏ အဝေးမှ အမိန့်များသည် SSH မှတစ်ဆင့် သွားလာသည်။ ထို SSH ချိတ်ဆက်မှုကို SOCKS ဆာဗာမှတစ်ဆင့် ပို့ရန် SOCKS ပြောဆိုပြီး ခရီးဆုံး၏ byte စီးကြောင်းကို ပြန်ပေးသော ချိတ်ဆက်ကိရိယာကို Fabric အား ပေးပါ။
Fabric 2 တွင် မိတ်ဆက်ခဲ့သော Connection API သည် အမိန့်စာတန်းကို ၎င်း၏ gateway အဖြစ် လက်ခံသည်။ Fabric သည် ထိုစာတန်းကို ProxyCommand အဖြစ် အသုံးပြုသည်။ ၎င်း၏ ပရောက်စီ ရွေးချယ်စရာများကို ပံ့ပိုးသော OpenBSD-ကိုက်ညီသည့် nc ရှိပါက ဖွဲ့စည်းပုံမှာ ဤသို့ ဖြစ်နိုင်သည်−
from fabric import Connection
connection = Connection(
"app.example.net",
user="deploy",
gateway="nc -X 5 -x proxy.example.net:1080 %h %p",
)ဤဥပမာသည် ပုံမှန် SSH ပေါ့တ် 22 ကို အသုံးပြုသည်။ ချိတ်ဆက်ကိရိယာ၏ -X 5 သည် SOCKS5 ကို ရွေးချယ်ပြီး -x သည် ပရောက်စီ၏ အဆုံးမှတ်ကို ဖော်ပြသည်။ ဟိုစ့်နှင့် ပေါ့တ် နေရာယူသူများသည် SSH ခရီးဆုံးကို ပေးသည်။ အများသုံး SSH ခရီးဆုံးအတွက် SOCKS5 ပရောက်စီ စာရင်းမှ အတည်ပြုချက်မလိုသော အဆုံးမှတ်တစ်ခုသည် ထိုခရီးဆုံးနှင့် ပေါ့တ်ကို ခွင့်ပြုပါက ပရောက်စီလိပ်စာကို ဖြည့်နိုင်သည်။ အမိန့်ကို စက်တွင် တကယ်ထည့်သွင်းထားသော ချိတ်ဆက်ကိရိယာ၏ ရွေးချယ်စရာများဖြင့် ဖွဲ့စည်းပါ။ nc ဟု အမည်ရသော ပရိုဂရမ်များ အားလုံး တူညီသော အင်တာဖေ့စ်ကို မပေးပါ။
ချိတ်ဆက်ကိရိယာသည် Fabric လည်ပတ်သည့် နေရာတွင် ဒေသအတွင်း လည်ပတ်သည်။ အပလီကေးရှင်း ဆာဗာသည် SSH ခရီးဆုံး ဖြစ်သောကြောင့်သာ ထိုအကူအညီကို မလိုအပ်ပါ။ စီးကြောင်း တည်ဆောက်ပြီးနောက်လည်း Fabric သည် SSH ညှိနှိုင်းမှု ပြုလုပ်ပြီး deploy အကောင့်ကို app.example.net တွင် အတည်ပြုသည်။ SOCKS ဆာဗာ တောင်းဆိုသော မည်သည့် အတည်ပြုမှုမဆို ချိတ်ဆက်ကိရိယာ၏ ဖြစ်ပြီး ၎င်းမှ ပံ့ပိုးရမည်။
Fabric သည် ProxyCommand ကို SSH ဖွဲ့စည်းပုံမှလည်း ဖတ်နိုင်သည်။ တူညီသော လမ်းကြောင်းကို SSH ကိရိယာ အများအပြား အသုံးပြုသောအခါ ၎င်းသည် အဆင်ပြေနိုင်သည်။ တူညီသော ခရီးဆုံးအတွက် အမိန့်ပုံစံ ဂိတ်ဝေးနှင့် သီးခြား ခုန်ဟိုစ့် ဂိတ်ဝေးကို ပေါင်းစပ်မည့်အစား ချိတ်ဆက်မှုအတွက် ရည်ရွယ်ထားသော ဂိတ်ဝေး အဓိပ္ပာယ်ဖွင့်ဆိုချက် တစ်ခုကို အသုံးပြုပါ။
ကြားခံသူသည် SSH ဆာဗာ ဖြစ်သောအခါ
Fabric ၏ Connection အရာဝတ္ထုကို gateway အဖြစ် ပေးသောအခါ အဓိပ္ပာယ် ကွဲပြားသည်− Fabric သည် ထို SSH ဂိတ်ဝေးသို့ ချိတ်ဆက်ပြီး နောက်ဆုံး ဟိုစ့်သို့ ချန်နယ်တစ်ခု တောင်းဆိုသည်။ SSH ခုန်ဟိုစ့်အတွက် ထိုပုံစံကို အသုံးပြုပါ။ SOCKS နားထောင်သူသည် SSH ဆာဗာ မဟုတ်သောကြောင့် အထက်ပါ အမိန့်ပုံစံ ချိတ်ဆက်ကိရိယာ လိုအပ်သည်။
ဤသယ်ယူပို့ဆောင်မှု ရွေးချယ်မှုတွင်လည်း ရှင်းလင်းသော ကန့်သတ်ချက် ရှိသည်။ ၎င်းသည် Fabric ၏ SSH ချိတ်ဆက်မှုကို လမ်းကြောင်းပေးသည်။ အဝေးဟိုစ့်တွင် လည်ပတ်ပြီး နောက်ပိုင်း repository သို့မဟုတ် package ကို ဒေါင်းလုဒ်လုပ်သော အမိန့်သည် ထိုပရိုဂရမ်၏ ကိုယ်ပိုင် ပရောက်စီ ဖွဲ့စည်းပုံအရ ထိုဟိုစ့်မှ အပြင်ထွက် ချိတ်ဆက်မှု အသစ်တစ်ခုကို ပြုလုပ်သည်။