Net::SFTP::Foreign geeft proxy-opties door aan OpenSSH
Geef een ProxyCommand door als één SSH-optieargument via de openbare parameter more van Net::SFTP::Foreign.
Met de OpenSSH-backend van Net::SFTP::Foreign kan proxy-routering als SSH-optie worden uitgedrukt. De gedocumenteerde parameter more van de module accepteert een array van commandoregumenten:
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;Dit veronderstelt een bestaand nc-hulpprogramma dat compatibel is met OpenBSD. OpenSSH voert het lokaal uit om een SOCKS5-verbinding met de SFTP-bestemming tot stand te brengen. De plaatsaanduidingen leveren de host en poort die SSH heeft gekozen. Om een openbare SFTP-server via een toegestane openbare tussenpersoon te bereiken, kiest u voor het hulpprogramma een eindpunt zonder account uit de SOCKS5-proxylijst; dat moet die SSH-bestemming en poort toestaan.
De argumentgrens is belangrijk: -o is één argument, en de volledige ProxyCommand-toewijzing is het volgende. De parameter more van Net::SFTP::Foreign behandelt een willekeurige tekenreeks met meerdere SSH-argumenten niet automatisch als array.
Een toepassing kan de ProxyCommand ook in de gewone SSH Host-configuratie laten staan en die hostalias aan Net::SFTP::Foreign doorgeven. Gebruik de configuratie van de OpenSSH-backend in beide vormen; een andere backend zoals Plink heeft zijn eigen optiesyntaxis.