#!/usr/bin/perl###################################################This script is responsible for making a secure ##connection via ssh to server1 and executing the ##commaned ls . ##This script is also responsible for making a ##a secure connection via ssh to server1 and then ##scp the file test.txt. ####################################################import required modulesusestrict;usewarnings;useNet::SCPqw(scp iscp);useNet::SSHqw(ssh);useLog::Dispatch::Syslog;#declare local variablesmy$scp;my$host="server1.domain.com";my$user="user1";my$remotedir="/home/user1/";my$file="test.txt";my$cmd="/bin/ls";####################Log::Dispatch::Syslog######################################## Define our pid for use in the log messagemy$pid=getppid();# Define our logfile objectmy$logfile=Log::Dispatch::Syslog->new(name=>'logfile',min_level=>'info',ident=>"running_list_cmd[$pid]");####################Log::Dispatch::Syslog#############################################first connect to $host via Net::SSH and run /bin/ls###########$logfile->log(level=>'info',message=>"Connecting to $host as $user and running /bin/ls ...");ssh("$user\@$host",$cmd);$logfile->log(level=>'info',message=>"ls completed successfully!");######first connect to $host via Net::SSH and copy file $file############initialize Net::SCP object and send credentials$scp=Net::SCP->new($host);#notify user we're logging into $hostprint"Logging into $host ...\n";#write "connected to $host" to $file$logfile->log(level=>'info',message=>"Connected to $host successfully.");#log into $host as $user$scp->login($user)ordie$scp->{errstr};#write "connected to $host" to $file$logfile->log(level=>'info',message=>"Logged into $host successfully.");#notify user of changing working directory to $remotedirprint"Chaging working directory to $remotedir\n";#change working directory to $remotedir$scp->cwd($remotedir)ordie$scp->{errstr};#Write Changed working directory (CWD) to $remotedir$logfile->log(level=>'info',message=>"CWD to $remotedir successfully.");#display file size of $file$scp->size($file)ordie$scp->{errstr};#notify user scp of $file has startedprint"SCPing $remotedir$file from $host ...\n";#scp $file from $host$scp->get($file)ordie$scp->{errstr};#notify user scp of $file from $host was successfulprint"$remotedir$file copied from $host successfully!\n";