use Net::OpenSSH; $ssh = Net::OpenSSH->new($server, port => $port, batch_mode => 1, user => $user, key_path => $identity_file, master_opts => ['-C', '-oStrictHostKeyChecking=no']); $ssh->scp_put($local_file, $remote_file) or die "scp_put failed: ".$ssh->error;