3
我需要能够使用Perl来确定在我有密钥交换的远程服务器上运行的python版本。要尝试完成此操作,我一直在使用Net::SSH::Any
,但想要使用密钥交换,而不是在脚本中指定密码。我已经看过指定密码的cpan示例。Perl Net :: SSH ::任何与密钥交换
以下是我的Perl代码片段,我试图确定是否在远程服务器上安装了python 2.6。
my $ssh = Net::SSH::Any->new($curIP, 'root');
my @out = $ssh->capture("python -V");
my $outSize = @out;
my $ver26 = 0;
for (my $j = 0; $j < $outSize; $j++) {
if (index($out[$j], "2.6.") != -1) {
$ver26 = 1;
}
}
当我运行它,它抱怨,说一台主机需要指定:
强制参数主机丢失在./GenerateConfig.pl线162
我修改了代码看起来类似于这是如何在不同的帖子(How can I FTP a file with an SSH key instead of a password, in Perl?)中完成的,但它也失败了:
my $ssh = Net::SSH::Any->new($curIP, {'root'});
my @out = $ssh->capture("python -V");
my $outSize = @out;
my $ver26 = 0;
for (my $j = 0; $j < $outSize; $j++) {
if (index($out[$j], "2.6.") != -1) {
$ver26 = 1;
}
}
任何想法,我如何做到这一点,或完成相同的事情的替代品将不胜感激。
那么简单,THX!我一直在与它斗争一段时间... – 2014-09-26 17:35:52