Net::SFTP::Foreign-ի OpenSSH բեկենդի դեպքում վստահված սերվերի երթուղավորումը կարող է արտահայտվել որպես SSH ընտրանք։ Մոդուլի փաստաթղթավորված more պարամետրն ընդունում է հրամանի արգումենտների զանգված.

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;

Սա ենթադրում է OpenBSD-ի հետ համատեղելի nc օժանդակ գործիքի առկայություն։ OpenSSH-ն այն գործարկում է տեղայնորեն՝ SFTP նպատակակետի հետ SOCKS5 կապ հաստատելու համար։ Տեղապահները տալիս են SSH-ի ընտրած հոսթն ու պորտը։ Թույլատրված հանրային միջնորդի միջոցով հանրային SFTP սերվերին հասնելու համար օժանդակ գործիքի համար ընտրեք հաշիվ չպահանջող վերջնակետ SOCKS5 վստահված սերվերների ցանկից․ այն պետք է թույլատրի այդ SSH նպատակակետն ու պորտը։

Արգումենտի սահմանը կարևոր է․ -o-ը մեկ արգումենտ է, իսկ ամբողջ ProxyCommand վերագրումը՝ հաջորդը։ Net::SFTP::Foreign-ի more պարամետրը ավտոմատ կերպով զանգված չի համարում մի քանի SSH արգումենտ պարունակող կամայական տողը։

Հավելվածը կարող է նաև ProxyCommand-ը պահել իր սովորական SSH Host կարգավորումներում և այդ հոսթի կեղծանունը փոխանցել Net::SFTP::Foreign-ին։ Օգտագործեք OpenSSH բեկենդի կարգավորումը երկու ձևերից որևէ մեկով․ այլ բեկենդը, ինչպիսին Plink-ն է, ունի իր ընտրանքների շարահյուսությունը։

Առնչվող հոդվածներ