Net::SFTP::Foreign מעביר אפשרויות פרוקסי ל-OpenSSH
ספקו ProxyCommand כארגומנט אפשרות SSH אחד דרך הפרמטר הציבורי more של Net::SFTP::Foreign.
עם ה-backend של OpenSSH ב-Net::SFTP::Foreign אפשר לבטא ניתוב דרך פרוקסי כאפשרות 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;הדבר מניח כלי עזר nc קיים שתואם ל-OpenBSD. OpenSSH מריץ אותו באופן מקומי כדי ליצור חיבור SOCKS5 אל יעד ה-SFTP. מצייני המקום מספקים את המארח והפורט שנבחרו ב-SSH. כדי להגיע לשרת SFTP ציבורי דרך מתווך ציבורי מורשה, בחרו נקודת קצה ללא חשבון מתוך רשימת פרוקסי SOCKS5 עבור כלי העזר; עליה להתיר את יעד ה-SSH והפורט האלה.
גבול הארגומנטים חשוב: -o הוא ארגומנט אחד, והקצאת ה-ProxyCommand כולה היא הבא. הפרמטר more של Net::SFTP::Foreign אינו מתייחס אוטומטית כמערך למחרוזת שרירותית שמכילה כמה ארגומנטים של SSH.
יישום יכול גם להשאיר את ה-ProxyCommand בתצורת ה-Host הרגילה של SSH ולהעביר את כינוי המארח הזה ל-Net::SFTP::Foreign. השתמשו בתצורת ה-backend של OpenSSH בכל אחת משתי הצורות; ל-backend אחר כגון Plink יש תחביר אפשרויות משלו.