Net::SFTP::Foreign pasa opciones de proxy a OpenSSH
Proporcione un ProxyCommand como un solo argumento de opción SSH mediante el parámetro público more de Net::SFTP::Foreign.
Con el backend OpenSSH de Net::SFTP::Foreign, el enrutamiento por proxy puede expresarse como una opción SSH. El parámetro more documentado del módulo acepta un arreglo de argumentos de comando:
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;Esto supone un auxiliar nc compatible con OpenBSD ya existente. OpenSSH lo ejecuta localmente para establecer una conexión SOCKS5 con el destino SFTP. Los marcadores de posición aportan el host y el puerto que eligió SSH. Para llegar a un servidor SFTP público a través de un intermediario público permitido, elija un extremo sin cuenta de la lista de proxies SOCKS5 para el auxiliar; debe permitir ese destino y ese puerto SSH.
El límite del argumento importa: -o es un argumento y toda la asignación de ProxyCommand es el siguiente. El parámetro more de Net::SFTP::Foreign no trata automáticamente como arreglo una cadena arbitraria que contenga varios argumentos SSH.
Una aplicación también puede mantener el ProxyCommand en su configuración habitual de Host SSH y pasar ese alias de host a Net::SFTP::Foreign. Use la configuración del backend OpenSSH en cualquiera de las dos formas; un backend distinto como Plink tiene su propia sintaxis de opciones.