Net::SFTP::Foreign předává proxy volby OpenSSH
Zadejte ProxyCommand jako jeden argument volby SSH prostřednictvím veřejného parametru more v Net::SFTP::Foreign.
S backendem OpenSSH v Net::SFTP::Foreign lze proxy směrování vyjádřit jako volbu SSH. Dokumentovaný parametr modulu more přijímá pole argumentů příkazu:
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;Předpokládá to existující pomocný program nc kompatibilní s OpenBSD. OpenSSH jej spouští lokálně, aby navázal spojení SOCKS5 s cílem SFTP. Zástupné symboly dodávají hostitele a port, které SSH zvolil. Chcete-li dosáhnout veřejného serveru SFTP přes povolený veřejný prostředník, vyberte pro pomocný program koncový bod bez účtu z seznamu proxy SOCKS5; musí tento cíl a port SSH povolit.
Hranice argumentů je důležitá: -o je jeden argument a celé přiřazení ProxyCommand je další. Parametr more v Net::SFTP::Foreign automaticky nepovažuje libovolný řetězec obsahující několik argumentů SSH za pole.
Aplikace může také ponechat ProxyCommand ve své obvyklé konfiguraci SSH Host a předat tento alias hostitele do Net::SFTP::Foreign. Použijte konfiguraci backendu OpenSSH v kterékoli z obou podob; jiný backend, například Plink, má vlastní syntaxi voleb.