Net::SFTP::Foreign passa opções de proxy ao OpenSSH
Forneça um ProxyCommand como um único argumento de opção SSH através do parâmetro público more do Net::SFTP::Foreign.
Com o backend OpenSSH do Net::SFTP::Foreign, o encaminhamento por proxy pode ser expresso como uma opção SSH. O parâmetro more documentado do módulo aceita um array 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;Isto pressupõe um auxiliar nc compatível com OpenBSD já existente. O OpenSSH executa-o localmente para estabelecer uma conexão SOCKS5 com o destino SFTP. Os marcadores fornecem o host e a porta escolhidos pelo SSH. Para alcançar um servidor SFTP público através de um intermediário público permitido, escolha para o auxiliar um endpoint sem conta na lista de proxies SOCKS5; ele deve permitir esse destino e essa porta SSH.
O limite do argumento importa: -o é um argumento, e toda a atribuição de ProxyCommand é o seguinte. O parâmetro more do Net::SFTP::Foreign não trata automaticamente como array qualquer string que contenha vários argumentos SSH.
Uma aplicação também pode manter o ProxyCommand na sua configuração habitual de Host SSH e passar esse alias de host ao Net::SFTP::Foreign. Use a configuração do backend OpenSSH em qualquer das duas formas; um backend diferente como o Plink tem a sua própria sintaxe de opções.