Med OpenSSH-backenden til Net::SFTP::Foreign kan proxy-ruting uttrykkjast som eit SSH-val. Den dokumenterte more-parameteren i modulen godtek ein matrise med kommandoargument:

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;

Dette føreset ein eksisterande OpenBSD-kompatibel nc-hjelpar. OpenSSH køyrer han lokalt for å oppretta ei SOCKS5-tilkopling til SFTP-målet. Plasshaldarane oppgir verten og porten SSH valde. For å nå ein offentleg SFTP-tenar gjennom ein tillaten offentleg mellommann, vel eit endepunkt utan konto frå SOCKS5-proxylista for hjelparen; det må tillate det SSH-målet og den porten.

Argumentgrensa er viktig: -o er eitt argument, og heile ProxyCommand-tildelinga er det neste. more-parameteren i Net::SFTP::Foreign handsamar ikkje automatisk ein vilkårleg streng med fleire SSH-argument som ein matrise.

Ein applikasjon kan òg halda ProxyCommand i den vanlege SSH Host-konfigurasjonen sin og senda det vertsaliaset til Net::SFTP::Foreign. Bruk konfigurasjonen til OpenSSH-backenden i kva som helst av dei to formene; ein annan backend som Plink har sin eigen valsyntaks.

Relaterte artiklar