#!/usr/bin/perl use strict; use warnings; use Net::SFTP::Foreign; # copy .gpg signed/encrypted files to remote host my $sftp = Net::SFTP::Foreign->new( host => 'foo.bar', user => 'username', key_path => '/my/user/.ssh/id_rsa', more => '-v' ); $sftp->mput('/my/user/path/files/*.gpg','remote_directory'); print $sftp->status; exit 0;