З бэкэндам OpenSSH у Net::SFTP::Foreign праксі-маршрутызацыю можна выказаць як параметр 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 запускае яе лакальна, каб устанавіць злучэнне SOCKS5 з пунктам прызначэння SFTP. Запаўняльнікі падаюць выбраныя SSH хост і порт. Каб дасягнуць публічнага сервера SFTP праз дазволены публічны пасярэднік, выберыце ў спісе проксі SOCKS5 пункт без уліковага запісу для гэтай праграмы; ён павінен дазваляць гэты пункт прызначэння і порт SSH.

Мяжа аргументаў мае значэнне: -o — гэта адзін аргумент, а ўсё прызначэнне ProxyCommand — наступны. Параметр more у Net::SFTP::Foreign не ўспрымае адвольны радок з некалькімі аргументамі SSH як масіў аўтаматычна.

Праграма можа таксама пакінуць ProxyCommand у звычайнай канфігурацыі Host SSH і перадаць гэты псеўданім хоста ў Net::SFTP::Foreign. Выкарыстоўвайце канфігурацыю бэкэнда OpenSSH у любой з дзвюх формаў; іншы бэкэнд, напрыклад Plink, мае свой сінтаксіс параметраў.

Падобныя артыкулы