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";
}