Net::SFTP::Foreign przekazuje opcje proxy do OpenSSH
Podaj ProxyCommand jako jeden argument opcji SSH przez publiczny parametr more w Net::SFTP::Foreign.
Z backendem OpenSSH w Net::SFTP::Foreign trasowanie przez proxy można wyrazić jako opcję SSH. Udokumentowany parametr modułu more przyjmuje tablicę argumentów polecenia:
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;Zakłada to istniejące narzędzie pomocnicze nc zgodne z OpenBSD. OpenSSH uruchamia je lokalnie, aby nawiązać połączenie SOCKS5 z miejscem docelowym SFTP. Symbole zastępcze dostarczają host i port wybrane przez SSH. Aby dotrzeć do publicznego serwera SFTP przez dozwolonego publicznego pośrednika, wybierz dla narzędzia punkt końcowy bez konta z listy proxy SOCKS5; musi on zezwalać na ten cel i port SSH.
Granica argumentów ma znaczenie: -o to jeden argument, a całe przypisanie ProxyCommand to następny. Parametr more w Net::SFTP::Foreign nie traktuje automatycznie jako tablicy dowolnego ciągu zawierającego kilka argumentów SSH.
Aplikacja może też zostawić ProxyCommand w zwykłej konfiguracji SSH Host i przekazać ten alias hosta do Net::SFTP::Foreign. Używaj konfiguracji backendu OpenSSH w dowolnej z obu form; inny backend, taki jak Plink, ma własną składnię opcji.