A Net::SFTP::Foreign OpenSSH-háttérprogramjával a proxy útvonalválasztás SSH-opcióként fejezhető ki. A modul dokumentált more paramétere parancsargumentumok tömbjét fogadja:

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;

Ez egy meglévő, OpenBSD-kompatibilis nc segédprogramot feltételez. Az OpenSSH helyben futtatja, hogy SOCKS5-kapcsolatot létesítsen az SFTP-céllal. A helyőrzők az SSH által kiválasztott gazdagépet és portot adják. Egy nyilvános SFTP-kiszolgáló eléréséhez engedélyezett nyilvános közvetítőn keresztül válasszon fiók nélküli végpontot a segédprogram számára a SOCKS5 proxy listáról; annak engedélyeznie kell azt az SSH-célt és portot.

Az argumentumhatár számít: a -o egy argumentum, a teljes ProxyCommand-hozzárendelés pedig a következő. A Net::SFTP::Foreign more paramétere nem tekint automatikusan tömbnek egy több SSH-argumentumot tartalmazó tetszőleges karakterláncot.

Egy alkalmazás a ProxyCommandot megtarthatja a szokásos SSH Host-konfigurációjában, és ezt a gazdagép-álnevet átadhatja a Net::SFTP::Foreignnek. Használja az OpenSSH-háttér konfigurációját bármelyik formában; egy másik háttérnek, például a Plinknek saját opciószintaxisa van.

Kapcsolódó cikkek