Amb el backend OpenSSH de Net::SFTP::Foreign, l'encaminament de proxy es pot expressar com una opció SSH. El paràmetre more documentat del mòdul accepta una matriu d'arguments d'ordre:

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;

Això pressuposa un auxiliar nc compatible amb OpenBSD. OpenSSH l'executa localment per establir una connexió SOCKS5 amb la destinació SFTP. Els marcadors de posició forneixen l'amfitrió i el port triats per SSH. Per arribar a un servidor SFTP públic a través d'un intermediari públic permès, trieu un punt final sense compte de la llista de proxys SOCKS5 per a l'auxiliar; ha de permetre aquesta destinació i aquest port SSH.

El límit de l'argument és important: -o és un argument, i tota l'assignació de ProxyCommand és el següent. El paràmetre more de Net::SFTP::Foreign no tracta automàticament com a matriu qualsevol cadena que contingui diversos arguments SSH.

Una aplicació també pot mantenir el ProxyCommand a la seva configuració habitual d'Host SSH i passar aquest àlies d'amfitrió a Net::SFTP::Foreign. Utilitzeu la configuració del backend OpenSSH en qualsevol de les dues formes; un backend diferent com Plink té la seva pròpia sintaxi d'opcions.

Articles relacionats