首页 > 解决方案 > 无法通过 Perl SSH 到 F5 LoadBalancer

问题描述

我正在尝试通过 perl 模块 Net::SSH2 连接到 F5 负载均衡器。我无法验证错误,而使用相同的凭据我可以通过 putty SSH 到设备。我已经分享了代码和下面的错误以供参考。有人可以帮我解决这个问题。

use Net::SSH2; 
$deviceipF5 = "x.x.x.x";
$username = "xx";
$encrPass = "xx";


my @deviceipF5List = split(',',$deviceipF5);
if(@deviceipF5List ne 0)
    {
        foreach my $deviceipF5(@deviceipF5List)
        {
            my @deviceipF5List1 = split (':', $deviceipF5); 
            my $ssh2 = Net::SSH2->new();
            $ssh2->debug(0);
            $ssh2->connect($deviceipF5List1[0]) or die $!;
            $ssh2->auth(username => $username, password => $encrPass) or die "Unable to login \n".$ssh2->die_with_error;
            print "Connected to '$deviceipF5List1[0]' as '$username' \n";

            my $channel = $ssh2->channel() or do { print "Unable to create channnel ssh channel to Device $deviceipF5List[0]";$ssh2->disconnect(); last;};

            $channel->blocking(0);
            $channel->shell() ;
            print "SSH Success \n";
            sleep(2);

我什至尝试使用auth_password而不是 auth 但没有运气。

下面是我得到的错误: Bad file descriptor at line 16

我尝试删除 $! 从第 16 行开始,但它导致另一个错误: 在第 16 行死亡

标签: perlauthenticationsshconnectionf5

解决方案


推荐阅读