需要使用Net::SSH::Expect模块提供密码/yes/no交互的帮助



好的,我在这里要做的是执行以下操作。

  1. 登录到远程服务器
  2. 执行几个cmd
  3. 生成密钥的交互,如是/否

CPAN文档是一个很好的资源

正如我之前在perl聊天中与您讨论的那样,这个模块在CPAN上有很好的文档记录。使用其中的一些示例。。。

为服务器配置Net::SSH::Expect

my $ssh = Net::SSH::Expect->new (
    host => "myserver.com",
    password=> 'pass87word',
    user => 'bnegrao',
    raw_pty => 1
);

使用密码登录:

my $login_output = $ssh->login();
if ($login_output !~ /Welcome/) {
    die "Login has failed. Login output was $login_output";
}

运行命令:

my $ls = $ssh->exec("ls -l /");
print($ls);
 
my $who = $ssh->exec("who");
print ($who);

关闭连接:

$ssh->close();

如果你有更具体的问题,你真的应该问,因为仅仅举例并不能真正帮助你完成任务。文档也非常完整,所以您应该在那里查看。

相关内容

最新更新