Со 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;

Ова претпоставува постоечка nc помошна програма компатибилна со OpenBSD. OpenSSH ја извршува локално за да воспостави SOCKS5 врска со SFTP одредиштето. Заменските знаци ги даваат хостот и портата што ги избрал SSH. За да стигнете до јавен SFTP сервер преку дозволен јавен посредник, изберете крајна точка без сметка од списокот на SOCKS5 прокси сервери за помошната програма; таа мора да го дозволи тоа SSH одредиште и порта.

Границата на аргументите е важна: -o е еден аргумент, а целото доделување на ProxyCommand е следното. Параметарот more на Net::SFTP::Foreign не третира автоматски како низа произволен текст што содржи неколку SSH аргументи.

Апликацијата исто така може да го задржи ProxyCommand во својата вообичаена SSH Host конфигурација и да го пренесе тој алијас на хостот на Net::SFTP::Foreign. Користете ја конфигурацијата на OpenSSH бекендот во кој било од двата облика; друг бекенд како Plink има сопствена синтакса на опции.

Поврзани статии