使用 Net::SSH::Expect 状态连接到服务器



Using Net::SSH::Expect Perl module 我想连接到服务器。

下面是我的代码

#!/usr/bin/perl 
use Net::SSH::Expect;
my $ssh = Net::SSH::Expect->new (
host => 'hostip', #deb-2-scripting ip
user => 'user',
password => 'password',
raw_pty => 1
);
..
..
..
$ssh->close();

创建$ssh对象后,我想检查与SSH的连接是否成功。

如何实现这一点?我们在 Net::SSH::Expect 中是否有任何方法,如果连接成功或失败,它将返回一个布尔值。

如果你查看Net::SSH::Expect::new()的源代码,你会发现它实际上并没有创建连接。它只是创建一个具有所有相关属性的对象,以便将来可以在需要时进行连接。

实际连接是在调用login()方法时建立的。文档包含如何检查是否成功的示例。

# 2) logon to the SSH server using those credentials.
# test the login output to make sure we had success
my $login_output = $ssh->login();
if ($login_output !~ /Welcome/) {
die "Login has failed. Login output was $login_output";
}

相关内容

  • 没有找到相关文章