0
我正在编写以下脚本以从文本文件读取服务器列表中的ssh给他们并运行ldd命令来获取安装在服务器上的版本。 唯一的问题是,我看到下面的错误的错误,说:坏主机名:未知原因在Perl脚本中发生已知错误
[email protected]:[/home/adev/perl-scripts] {63} % perl try.pl
Net::SSH: Bad host name: abclnxtest01
at try.pl line 21
当我做手工的SSH到该主机。它获得连接。 这里是脚本:
#!/mu/bin/perl
use Net::SSH::Perl;
use warnings;
my $file = "server-list.txt";
my $usr = "user";
my $pwd = "password";
my $output_file = "GlibC-version.txt";
open(HANDLE, $file) or die("Cant open the file :(");
@server_list = <HANDLE>;
close(HANDLE);
#debug_print_array(@server_list);
open(HANDLE, ">>$output_file"); #opening file for output.
foreach $host (@server_list)
{
my $ssh = Net::SSH::Perl->new($host);
$ssh->login($usr,$pwd,$ssh);
my($stdout, $stderr, $exit) = $ssh->cmd("ldd --version|grep ldd");
print HANDLE "----------------------------------";
print HANDLE "Hostname : $host";
print HANDLE "GLIBC Version : $stdout";
print HANDLE "----------------------------------\n\n";
}