Net::SFTP::Foreign transmite opțiunile de proxy către OpenSSH
Furnizați un ProxyCommand ca un singur argument de opțiune SSH prin parametrul public more al Net::SFTP::Foreign.
Cu backendul OpenSSH al Net::SFTP::Foreign, rutarea prin proxy poate fi exprimată ca o opțiune SSH. Parametrul documentat more al modulului acceptă un tablou de argumente de comandă:
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;Aceasta presupune un utilitar nc compatibil OpenBSD deja existent. OpenSSH îl rulează local pentru a stabili o conexiune SOCKS5 către destinația SFTP. Substituenții furnizează gazda și portul alese de SSH. Pentru a ajunge la un server SFTP public printr-un intermediar public permis, alegeți pentru utilitar un punct final fără cont din lista de proxy SOCKS5; acesta trebuie să permită acea destinație și acel port SSH.
Limita argumentelor contează: -o este un argument, iar întreaga atribuire ProxyCommand este următorul. Parametrul more al Net::SFTP::Foreign nu tratează automat ca tablou orice șir care conține mai multe argumente SSH.
O aplicație poate de asemenea păstra ProxyCommand în configurația sa obișnuită SSH Host și poate transmite acel alias de gazdă către Net::SFTP::Foreign. Folosiți configurația backendului OpenSSH în oricare dintre cele două forme; un alt backend precum Plink are propria sintaxă de opțiuni.