Net::SFTP::Foreign პროქსის პარამეტრებს OpenSSH-ს გადასცემს
მიაწოდეთ ProxyCommand, როგორც ერთი SSH პარამეტრის არგუმენტი, Net::SFTP::Foreign-ის საჯარო more პარამეტრის მეშვეობით.
Net::SFTP::Foreign-ის OpenSSH ბექენდით პროქსის მარშრუტიზაცია შეიძლება გამოისახოს როგორც SSH პარამეტრი. მოდულის დოკუმენტირებული more პარამეტრი იღებს ბრძანების არგუმენტების მასივს:
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 კავშირის დასამყარებლად. ჩანაცვლებითი ნიშნები აწვდიან SSH-ის მიერ არჩეულ ჰოსტსა და პორტს. საჯარო SFTP სერვერთან დაშვებული საჯარო შუამავლის მეშვეობით მისასვლელად, დამხმარე პროგრამისთვის აირჩიეთ ანგარიშის გარეშე საბოლოო წერტილი SOCKS5 პროქსების სიიდან; მან უნდა დაუშვას ეს SSH დანიშნულება და პორტი.
არგუმენტების საზღვარი მნიშვნელოვანია: -o ერთი არგუმენტია, ხოლო მთელი ProxyCommand მინიჭება — შემდეგი. Net::SFTP::Foreign-ის more პარამეტრი ავტომატურად არ განიხილავს მასივად თვითნებურ სტრიქონს, რომელიც რამდენიმე SSH არგუმენტს შეიცავს.
აპლიკაციას ასევე შეუძლია ProxyCommand თავის ჩვეულებრივ SSH Host კონფიგურაციაში დატოვოს და ეს ჰოსტის ფსევდონიმი Net::SFTP::Foreign-ს გადასცეს. გამოიყენეთ OpenSSH ბექენდის კონფიგურაცია ორივე ფორმით; სხვა ბექენდს, მაგალითად Plink-ს, აქვს საკუთარი პარამეტრების სინტაქსი.