Co backend OpenSSH de Net::SFTP::Foreign, o enrutamento por proxy pódese expresar como unha opción SSH. O parámetro more documentado do módulo acepta unha matriz de argumentos de orde:

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;

Isto supón un axudante nc compatible con OpenBSD xa existente. OpenSSH execútao localmente para establecer unha conexión SOCKS5 co destino SFTP. Os marcadores de posición fornecen o host e o port elixidos por SSH. Para chegar a un servidor SFTP público a través dun intermediario público permitido, elixa un extremo sen conta da lista de proxies SOCKS5 para o axudante; debe permitir ese destino e ese port SSH.

O límite do argumento importa: -o é un argumento e toda a asignación de ProxyCommand é o seguinte. O parámetro more de Net::SFTP::Foreign non trata automaticamente como matriz calquera cadea que conteña varios argumentos SSH.

Unha aplicación tamén pode manter o ProxyCommand na súa configuración habitual de Host SSH e pasar ese alias de host a Net::SFTP::Foreign. Use a configuración do backend OpenSSH en calquera das dúas formas; un backend distinto como Plink ten a súa propia sintaxe de opcións.

Artigos relacionados