#!/bin/perl use Expect; $host = xxxxx; $user = yyyyy; $pw = shift; #--- CONFIGURATION --------------------------------------------------- +--------# $cmd = "ssh -l $user $host"; $prompt = "[Pp]assword"; #--- START SSH LOGIN SEQUENCE ! -------------------------------------- +--------# $exp = new Expect(); $exp->log_file("SSHLOGFILE.txt"); $exp->raw_pty(1); $exp->spawn($cmd); $exp->expect(10, [ qr/\(yes\/no\)\?\s*$/ => sub { $spawn->send("yes\n"); + exp_continue; } ], [ $prompt => sub { $_[0]->send("pwd\n"); } ]); Here im unable to switch to super user login $exp->send("su - root\n"); $exp->expect(10, [ $prompt => sub { $_[0]->send("pwd\n"); } ]); $exp->close();
In reply to ssh using expect by bala_999
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |