use strict; use warnings; use Net::OpenSSH; use Net::SFTP::Foreign; my $ssh = Net::OpenSSH->new($host, user => $user, password => $password, ...) $ssh->error and die "can't connect to remote host: " . $ssh->error; my $sftp1 = $ssh->sftp or die "can't open SFTP channel 1: " . $ssh->error; my $sftp2 = $ssh->sftp or die "can't open SFTP channel 2: " . $ssh->error; print "I am running two SFTP sessions in parallel\n"