Net::SFTP::Foreign သည် ပရောက်စီ ရွေးချယ်မှုများကို OpenSSH သို့ ပေးပို့သည်
ProxyCommand ကို SSH ရွေးချယ်မှု အငြင်းတစ်ခုအဖြစ် Net::SFTP::Foreign ၏ အများသုံး more ပါရာမီတာမှတစ်ဆင့် ပေးပါ။
Net::SFTP::Foreign ၏ OpenSSH backend ဖြင့် ပရောက်စီ လမ်းကြောင်းသတ်မှတ်မှုကို SSH ရွေးချယ်မှုအဖြစ် ဖော်ပြနိုင်သည်။ module ၏ မှတ်တမ်းတင်ထားသော more ပါရာမီတာသည် command အငြင်းများ၏ array ကို လက်ခံသည်:
use Net::SFTP::Foreign;
my $sftp = Net::SFTP::Foreign->new(
'files.example.net',
user => 'operator',
more => [
'-o',
'ProxyCommand=nc -X 5 -x proxy.example.net:1080 %h %p',
],
);
die $sftp->error if $sftp->error;ယင်းသည် OpenBSD နှင့် ကိုက်ညီသော nc အထောက်အကူ တစ်ခု ရှိပြီးသားဟု ယူဆသည်။ OpenSSH သည် SFTP ခရီးဆုံးသို့ SOCKS5 ချိတ်ဆက်မှု တည်ဆောက်ရန် ၎င်းကို ဒေသတွင်း လုပ်ဆောင်သည်။ placeholder များသည် SSH ရွေးချယ်ထားသော host နှင့် port ကို ပေးသည်။ ခွင့်ပြုထားသော အများသုံး ကြားခံတစ်ခုမှတစ်ဆင့် အများသုံး SFTP ဆာဗာသို့ ရောက်ရန် အထောက်အကူအတွက် SOCKS5 ပရောက်စီ စာရင်းမှ အကောင့်မလိုသော endpoint ကို ရွေးပါ။ ၎င်းသည် ထို SSH ခရီးဆုံးနှင့် port ကို ခွင့်ပြုရမည်။
အငြင်း နယ်နိမိတ်သည် အရေးကြီးသည်။ -o သည် အငြင်းတစ်ခုဖြစ်ပြီး ProxyCommand တာဝန်ပေးမှု တစ်ခုလုံးသည် နောက်တစ်ခုဖြစ်သည်။ Net::SFTP::Foreign ၏ more ပါရာမီတာသည် SSH အငြင်းများစွာ ပါဝင်သော မည်သည့် string ကိုမျှ array အဖြစ် အလိုအလျောက် မသတ်မှတ်ပါ။
အက်ပလီကေးရှင်းတစ်ခုသည် ProxyCommand ကို ပုံမှန် SSH Host ဖွဲ့စည်းမှုတွင် ထားရှိပြီး ထို host alias ကို Net::SFTP::Foreign သို့ ပေးနိုင်သည်။ OpenSSH backend ၏ ဖွဲ့စည်းမှုကို ပုံစံနှစ်မျိုးလုံးတွင် အသုံးပြုပါ။ Plink ကဲ့သို့ အခြား backend တွင် ၎င်း၏ ကိုယ်ပိုင် ရွေးချယ်မှု syntax ရှိသည်။