S backendom OpenSSH v Net::SFTP::Foreign možno proxy smerovanie vyjadriť ako voľbu SSH. Dokumentovaný parameter modulu more prijíma pole argumentov prí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;

Predpokladá to existujúci pomocný program nc kompatibilný s OpenBSD. OpenSSH ho spúšťa lokálne, aby nadviazal spojenie SOCKS5 s cieľom SFTP. Zástupné symboly dodávajú hostiteľa a port, ktoré zvolil SSH. Ak chcete dosiahnuť verejný server SFTP cez povoleného verejného sprostredkovateľa, vyberte pre pomocný program koncový bod bez účtu zo zoznamu proxy SOCKS5; musí tento cieľ a port SSH povoliť.

Hranica argumentov je dôležitá: -o je jeden argument a celé priradenie ProxyCommand je ďalšie. Parameter more v Net::SFTP::Foreign automaticky nepovažuje ľubovoľný reťazec obsahujúci viacero argumentov SSH za pole.

Aplikácia môže tiež ponechať ProxyCommand vo svojej obvyklej konfigurácii SSH Host a odovzdať tento alias hostiteľa do Net::SFTP::Foreign. Použite konfiguráciu backendu OpenSSH v ktorejkoľvek z oboch podôb; iný backend, napríklad Plink, má vlastnú syntax volieb.

Súvisiace články