我是新来编程。 我写了一个perl脚本执行以下步骤。
1)SSH到远程机器
2)执行的命令的序列。
该脚本需要用户交互between.It需要用户名和密码。 我不知道如何与继续。
use Net::SSH::Expect;
use strict;
use warnings;
#login to a remote host
my $ssh = Net::SSH::Expect->new (host => "ipaddr",
password=> 'pwd',
user => 'username',
raw_pty => 1);
my $login_output = $ssh->login();
登录成功。 现在,对于低于scp命令提示我的那个系统。脚本将停止在这里输入用户名和密码。
my $cpscp = $ssh->exec("copy scp install ip addr filename");
Enter usename for remote scp server:
Enter the password for the remote server:
一旦用户名输入我需要输入password.This是我做的,但没有奏效。
my $usr = $ssh->waitfor ("Enter usename for remote scp server:\s*\z ", 5);
if ($usr)
{
print("string found \n");
my $pwd =$ssh->send("root");
}
else
{
print("No string found\n");
}
该脚本无法识别它。 “没有找到字符串”
我也试过以下
$ssh->waitfor('Enter username for remote scp server:\s*\z ', 5) or die "not found";
$ssh->send("root");