Dengan backend OpenSSH Net::SFTP::Foreign, perutean proksi dapat dinyatakan sebagai opsi SSH. Parameter more yang terdokumentasi pada modul menerima larik argumen perintah:

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;

Ini mengasumsikan adanya pembantu nc yang kompatibel dengan OpenBSD. OpenSSH menjalankannya secara lokal untuk membangun koneksi SOCKS5 ke tujuan SFTP. Placeholder memasok host dan port yang dipilih SSH. Untuk menjangkau server SFTP publik melalui perantara publik yang diizinkan, pilih endpoint tanpa akun dari daftar proksi SOCKS5 untuk pembantu tersebut; endpoint itu harus mengizinkan tujuan dan port SSH itu.

Batas argumen penting: -o adalah satu argumen, dan seluruh penetapan ProxyCommand adalah argumen berikutnya. Parameter more Net::SFTP::Foreign tidak otomatis memperlakukan sembarang string yang memuat beberapa argumen SSH sebagai larik.

Aplikasi juga dapat menyimpan ProxyCommand dalam konfigurasi Host SSH biasa dan meneruskan alias host itu ke Net::SFTP::Foreign. Gunakan konfigurasi backend OpenSSH dalam salah satu bentuk; backend lain seperti Plink memiliki sintaks opsi sendiri.

Artikel terkait