use Net::OpenSSH;
my $ssh = Net::OpenSSH->new($host);
my $sftp = $ssh->sftp;
$sftp->put($from, $to);
$ssh->system(perl => $script, $to);
Another option is to use Net::SSH2 in a similar fashion with the help of Net::SFTP::Foreign::Backend::Net_SSH2.
| [reply] [d/l] [select] |
thanks for the timely reply salva.
The problem is I must use a tectia ssh client which NET::Foreign supports. So when i make a system ssh call it has to use tectia's sshg3 client. Does Net::SSH2 support tectia?
| [reply] |
Tectia's clients reuse the connections transparently.
If you call sshg3 while the SFTP connection is open, it would send the command through it (well, IIRC, unless you tell sshg3 explicitly to not do it with the --exclusive option).
Also, the development version of my other module, Net::SSH::Any, has a backend for sshg3:
use Net::SSH::Any;
my $ssh = Net::SSH::Any->new($host,
user => $user, password => $password,
backend => 'Sshg3_Cmd');
$ssh->error and die "unable to connect to $host";
my $output = $ssh->capture('ls');
Unfortunatelly, at this point, Net::SSH::Any integration with Net::SFTP::Foreign is broken. | [reply] [d/l] [select] |