| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Системное программирование > perl ssh2 |
| Автор: Loki 4.7.2008, 12:08 |
| подскажите как в перле создать однопотоковое соединение ssh2, т.е. мне нужно передать вот такое занчение, видел кучу примеров, но все как-то много там написано. подскажите как кароче всего? Можно ли это начение в options или type как-нибуть засунуть? SSH2_MSG_CHANNEL_OPEN_CONFIRMATION); |
| Автор: nitr 4.7.2008, 15:59 | ||
Не вкурил...
Посмотрите документацию. там практически всегда есть описание конструктора. P.s.: Вы бы подробнее объяснялись и желательно без ошибок, возможно вам бы уже ответили ;) |
| Автор: Loki 8.7.2008, 06:29 | ||||
ну например у меня вот так вот не пашет, т.е. как будто опять выполняетяс в еще одном потоке, а мне нежно в том же...
можно заюзать функцию, например...
но это длинно, к тому же это только чать, еще нужна channel, etc... Как сделать максимально коротко отправку команд в том же потоке по ssh2, в ssh1 такой проблемы нет. |
| Автор: Loki 15.7.2008, 16:22 | ||
такой скрипт
ругается при коннекте вот так... Channel open failure: 1: reason 4: |
| Автор: Loki 20.7.2008, 15:57 | ||||||
от части заборол, вот что что получилось...
Только вывод uname -a я так и не увидел. Почему у меня вывода uname -a нет? К стати, как в sub сделать несколько команд? Т.е. тут уже придется в начале соформировать несколько пакетов, а потом их отправить? Если по простому, то вот так...
а в моем случае как? |
| Автор: Loki 24.7.2008, 16:40 | ||||
| Доброе время суток. У меня вот такая проблемка. Я хочу выполнить нескольео команд на нескольки роутерых, для этого перебираю их по списку. Вот что у меня получается когда сеанс с первым благополучно завершается... Net::SSH: Can't bind socket to port 1023: Адрес уже используется at ./ro.pl line 194 вот такая 194 строка, собственно $host это есть один из списка ИП-адрес роутера.
Как открывать новую сессию с нового сорусного порта или может у меня еще первая не завершается? на сервере вот что в логе...
|
| Автор: ginnie 28.7.2008, 19:03 |
| Уважаемый Loki, похоже, что предыдущее соединение не закрывается. Вы удаляете объект Net::SSH::Perl? При установлении соединения Net::SSH::Perl последовательно перебирает локальные порты для обнаружения свободного. Т.к. выводится сообщение о невозможности использовать порт 1023, значит предыдущее соединение не было закрыто. |
| Автор: Loki 7.8.2008, 16:28 | ||||
С этим у меня все получилось запустив скрип не от рута. Вот только проблемс вот такой...
а если посылать несколько команд в цикле, то такие строчки на каждую следующую команду. Requesting channel_open for channel 2. Entering interactive session. Channel open failure: 2: reason 4: Requesting channel_open for channel 3. Entering interactive session. Channel open failure: 3: reason 4: итд.... |