Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

захват выводв SSH2


uniken1 ©   (2011-06-07 13:51:00) 

Как захватить вывод SSH?

Пробовал установить SSHWinClient-3.1.0-build235 затем пытаюсь захватить вывод с программы ssh2.exe с помощью такой процедуры http://demi-s.narod.ru/winapi/027.html.Только с небольшими исправлениями, чтобы под D2010 работало(стандартные виндовые консольные команды захватывает нормально).
На выводе получаю
C:\Program Files\SSH Communications Security\SSH Secure Shell\ssh2.exe: FATAL: C:\ssh_3_1_0_release\cmdline\m-ssh2\lib\sshutil\sshsysutil\win32\sshwinstdiostream.c:230 SshStdioStream (function name unavailable) Assertion failed: sdata->hstdin != ((void *)0)

Пытаюсь выполнить ssh2.exe -l root ipaddress "df -h" >c:\1.txt, в командной строке работает, а через WinExec пусто, файл просто не появляется.

Может подскажите как сделать чтобы эти варианты работали или альтернативные что бы работал захват вывода ssh?


uniken1   (2011-06-08 14:54:00) [1]

А нет ли у Вас примера, который указан в статье? ссылки внизу не работают.


tesseract   (2011-06-08 13:42:00) [2]


> Пытаюсь выполнить ssh2.exe -l root ipaddress "df -h" >c:
> \1.txt, в командной строке работает,


Так ты вывод в файл перенаправляешь. Он весь вывод туда и высылает.

В [0] у тебя судя по всему ssh2.exe запускается со сбитой домашней директорией и не может найти свои библиотеки.


> Pseudo-terminal will not be allocated because stdin is not
> a terminal.


Логично.
Про перехват stdin/stdout тут есть : http://www.delphisources.ru/pages/faq/base/stdin_stdout.html


uniken1   (2011-06-08 09:04:00) [3]

Нашел еще пару проектов. Через Synapse, описание брал( http://leonardorame.blogspot.com/2010/01/synapse-based-ssh-client.html)
Как и у некоторых отписавшихся в комментариях не работает с надписью "Can't connect".

Скачал из проекта cygwin файлы
cygcrypto-0.9.8.dll
cyggcc_s-1.dll
cygssp-0.dll
cygwin1.dll
cygz.dll
ssh.exe
В командной строке опять все работает, а при попытке захвата вывода, вылетает:
Pseudo-terminal will not be allocated because stdin is not a terminal.

С SSH никто не работал в Delphi? Вроде штука не особо уникальная...
Может функцию захвата надо как-то иначереализовывать?


Наверх

Титульная страница Поиск, карта сайта Написать письмо