Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > Проблема с Net::SSH::W32Perl |
Автор: Sojer 16.8.2007, 13:26 | ||||||
Значит задача такая: нужен скрипт на перле, который будет запускаться с виндовой тачки и выполнять команды на удалённом шелле по ssh. Есть как раз такой модуль: Net::SSH::W32Perl http://search.cpan.org/~scotts/Net-SSH-W32Perl-0.05/lib/Net/SSH/W32Perl.pm http://search.cpan.org/src/SCOTTS/Net-SSH-W32Perl-0.05/README Проблема заключается в том, что он у меня не хочет ставиться, а точнее вообще не находится =\ Через ppm находит только Net::SSH, который под виндой не работает. Пробывал как написано в ридми делать так:
Скрипт такого содержания:
Что делать? ![]() |
Автор: Sojer 16.8.2007, 14:43 |
да, актив перл: This is perl, v5.8.8 built for MSWin32-x86-multi-thread ну вот нашёл я его там: http://cpan.uwinnipeg.ca/htdocs/Net-SSH-W32Perl/Net/SSH/W32Perl.html а как заинсталить? |
Автор: amg 16.8.2007, 15:19 |
Для начала см. http://cpan.uwinnipeg.ca/htdocs/faqs/ppm.html. Там адреса различных репозитариев. Я сейчас попробовал поставить себе на винду этот модуль. Выглядело это так: В консоли сказал ppm. ppm запустился и дал мне свою командную строку. В ней надо ввести всего две команды: ppm> rep add uwinnipeg http://theoryx5.uwinnipeg.ca/ppms/ ppm> install Net::SSH::W32Perl После этого сначала установились десятка полтора модулей из зависимостей, под конец и сам Net::SSH::W32Perl. Пробуй. Очевидно, что устанавливать этот модуль вручную, с учетом того, сколько у него зависимостей - занятие для мазохистов. |
Автор: fantome 16.8.2007, 16:43 | ||
amg,
если надо - то и вручную установишь... а так - спасибо за ссылки... Благодарю... Сам юзаю и под линем и под вынью перл... но вот под вынь не знал репозитариев.. а cpan'овские не подходят... |
Автор: Sojer 17.8.2007, 10:34 | ||||
amg вери сэнкс, вопросов больше нет фак, вопросы всётки есть! =(( скрипт:
что за фигня? ![]() |
Автор: fantome 17.8.2007, 10:48 |
Sojer, модуль Net::SSH::W32Perl использует Net::SSH::Perl модуль... А гворит он что не может выполнить функцию из этого модуля... Совет - пройдись в отладке... возможно что что-то не определено... |
Автор: Sojer 17.8.2007, 11:15 | ||
хз, проверил сам Perl.pm:
на всякий случай закоментировал use strict; не помогло вот кусок где ошибка: 109: my %arg = @_; 110: my $home = $ENV{HOME} || (getpwuid($>))[7]; 111: my $user_config = delete $arg{user_config} || "$home/.ssh/config"; getpwuid нигде не определена, что за функция я хз ... |
Автор: Nab 17.8.2007, 12:15 | ||
![]() напиши в начале скрипта
|
Автор: fantome 17.8.2007, 14:28 | ||||
Sojer,
это юниксовая функция...
А ты возможно пытаешься под винду это замутить... Возможно, что там надо делать какие-то извороты... |
Автор: Sojer 17.8.2007, 14:39 |
впринципе вариант nab'а работает, только скрипт после выполнения команды вообще не хочет закрываться. и не выводит результат выполненной команды ... какой-то сырой модуль |
Автор: fantome 17.8.2007, 14:59 | ||
Sojer,
т.е. процесс висит??? А вывод наверно надо вручную делать. Читать из дескриптора соединения и на экран выводить... |
Автор: Sojer 17.8.2007, 15:33 |
да, висит процесс. в отладочном режиме логи: ... fuckingpendoss: Sending command: id fuckingpendoss: Requesting service exec on channel 1. fuckingpendoss: channel 1: open confirm rwindow 0 rmax 32768 и всё ... |
Автор: Loki 4.7.2008, 04:14 | ||
А версия перла какая была? у меня так не пашет
а еще вот что мне понравилось... ![]() srv: Reading configuration data C:\Documents and Settings\Admin\Application Data/.ssh/config srv: Reading configuration data /etc/ssh_config разобрался ![]() |