Su Net::SFTP::Foreign OpenSSH posistemiu tarpinio serverio maršrutizavimą galima išreikšti kaip SSH parinktį. Dokumentuotas modulio parametras more priima komandos argumentų masyvą:

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;

Tai numato esamą su OpenBSD suderinamą nc pagalbinę programą. OpenSSH paleidžia ją vietoje, kad nustatytų SOCKS5 ryšį su SFTP paskirties vieta. Vietos žymekliai pateikia SSH pasirinktą prieglobos serverį ir prievadą. Norėdami pasiekti viešą SFTP serverį per leistiną viešą tarpininką, pagalbinei programai pasirinkite paskyros nereikalaujantį galinį tašką iš SOCKS5 tarpinių serverių sąrašo; jis turi leisti tą SSH paskirties vietą ir prievadą.

Argumentų riba svarbi: -o yra vienas argumentas, o visas ProxyCommand priskyrimas yra kitas. Net::SFTP::Foreign parametras more automatiškai nelaiko masyvu bet kokios eilutės, kurioje yra keli SSH argumentai.

Programa taip pat gali palikti ProxyCommand įprastoje SSH Host konfigūracijoje ir perduoti tą prieglobos pseudonimą į Net::SFTP::Foreign. Naudokite OpenSSH posistemio konfigūraciją bet kuria iš dviejų formų; kitas posistemis, pavyzdžiui, Plink, turi savo parinkčių sintaksę.

Susiję straipsniai