I am trying develop a perl module to ssh to a host as one user and then switch to root and do some stuff. Here is the piece of code for switching user part.
#-- set up a new connection
$ssh = Net::SSH::Perl->new("$host", debug => 1, use_pty => 1, interact
+ive => 1, identity_files => [], protocol=>'2,1');
#-- authenticate
#print "Loggin onto $host...\n" ;
# Authenticate using login/password:
$ssh->login($user, "$pass");
my($stdout1, $stderr1, $exit1) = $ssh->cmd("su -", ["$mypassword\r\n"]
+);
print "error= $stderr1\n" ;
I am trying to send the switch user to root (su -) command and trying to send the password string with /r/n. I am getting the error message: incorrect password. May be the password is sent too early and not recognized.
Does any one know solution to this? If you have any other idea on how to implement it please share.