Gyda backend OpenSSH Net::SFTP::Foreign, gellir mynegi llwybro dirprwy fel opsiwn SSH. Mae paramedr more dogfennedig y modiwl yn derbyn arae o ddadleuon gorchymyn:

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;

Mae hyn yn tybio bod cymorth nc sy'n gydnaws ag OpenBSD yn bodoli. Mae OpenSSH yn ei redeg yn lleol i sefydlu cysylltiad SOCKS5 â chyrchfan SFTP. Mae'r deiliaid lle yn darparu'r gwesteiwr a'r porth a ddewiswyd gan SSH. I gyrraedd gweinydd SFTP cyhoeddus drwy gyfryngwr cyhoeddus a ganiateir, dewiswch bwynt terfyn heb gyfrif o'r rhestr dirprwy SOCKS5 ar gyfer y cymorth; rhaid iddo ganiatáu'r gyrchfan a'r porth SSH hwnnw.

Mae'r ffin rhwng dadleuon yn bwysig: -o yw un ddadl, a'r aseiniad ProxyCommand cyfan yw'r nesaf. Nid yw paramedr more Net::SFTP::Foreign yn trin llinyn mympwyol sy'n cynnwys sawl dadl SSH fel arae yn awtomatig.

Gall rhaglen hefyd gadw'r ProxyCommand yn ei chyfluniad SSH Host arferol a phasio'r alias gwesteiwr hwnnw i Net::SFTP::Foreign. Defnyddiwch gyfluniad y backend OpenSSH yn y naill ffurf neu'r llall; mae gan backend gwahanol fel Plink ei gystrawen opsiynau ei hun.

Erthyglau cysylltiedig