The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Net::SSH::Perl, !*! dario, 09-Янв-13, 18:26  [смотреть все]
Доброго времени суток !

Использую модуль Net::SSH::Perl для подключения к серверу и удаленного выполнения команд , но выскакиевает ошибка :

root@mail:/ # perl /usr/local/pevl
Can't call method "login" on an undefined value at /usr/local/pevl line 3.
root@mail:/ #

Код :
use Net::SSH::Perl
    my $ssh = Net::SSH::Perl ->new("192.168.10.1");
    $ssh->login("admin","911") or warn ("not logged");
    my($stdout, $stderr, $exit) = $ssh->cmd("df -h");
    print "$stdout\n$stderr\n$exit\n"

  • Net::SSH::Perl, !*! ACCA, 19:27 , 09-Янв-13 (1)
    Проверяй, что получилось:
    my $ssh = Net::SSH::Perl ->new("192.168.10.1") || die $!;


    Сейчас у тебя проблема. Включи debug:

    my $ssh = Net::SSH::Perl ->new("192.168.10.1",debug=>1) || die $!;

    • Net::SSH::Perl, !*! dario, 02:05 , 10-Янв-13 (3)
      > Проверяй, что получилось:
      > my $ssh = Net::SSH::Perl ->new("192.168.10.1") || die $!;
      > Сейчас у тебя проблема. Включи debug:
      > my $ssh = Net::SSH::Perl ->new("192.168.10.1",debug=>1) || die $!;

      По прежнему
      root@mail:/ # perl /usr/local/pevl
      Can't call method "login" on an undefined value at /usr/local/pevl line 3.
      root@mail:/ #

      • Net::SSH::Perl, !*! ACCA, 05:01 , 10-Янв-13 (6)
        > root@mail:/ # perl /usr/local/pevl
        > Can't call method "login" on an undefined value at /usr/local/pevl line 3.

        Поставь `;' :


        use Net::SSH::Perl;

        И перед ним вставь


        use warnings;
        use strict;

        не пиши ничего на Perl без этих команд.


        В конце print тоже не помешает. Потом дописывать будешь, снова глюк словишь.

        • Net::SSH::Perl, !*! dario, 12:24 , 10-Янв-13 (7)
          >[оверквотинг удален]
          >
           
          > use Net::SSH::Perl;
          >

          > И перед ним вставь
          >
           
          > use warnings;
          > use strict;
          >

          > не пиши ничего на Perl без этих команд.
          > В конце print тоже не помешает. Потом дописывать будешь, снова глюк словишь.

          Поправил
            
          use warnings;
          use strict;
          use Net::SSH::Perl;
              my $ssh = Net::SSH::Perl ->new("192.168.10.1") || die $!;
              $ssh->login("admin","911") or warn ("not logged");
              print "$stdout\n$stderr\n$exit\n";
              print "END\n";

          Результат:

          root@mail:/ # perl /usr/local/pevl
          Permission denied at /usr/local/pevl line 5
          root@mail:/ #


          • Net::SSH::Perl, !*! dario, 16:54 , 10-Янв-13 (8)
            >[оверквотинг удален]
            > use strict;
            > use Net::SSH::Perl;
            >     my $ssh = Net::SSH::Perl ->new("192.168.10.1") || die $!;
            >     $ssh->login("admin","911") or warn ("not logged");
            >     print "$stdout\n$stderr\n$exit\n";
            >     print "END\n";
            >  Результат:
            > root@mail:/ # perl /usr/local/pevl
            > Permission denied at /usr/local/pevl line 5
            > root@mail:/ #

            Дело было в настройках sshd_config

            PasswordAuthentication yes





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру