SSH-клиент Delphi библиотека с открытым исходным кодом или компонент, или альтернативы - PullRequest
12 голосов
/ 29 января 2010

Мне нужно, чтобы мое приложение Delphi выдало очень простые команды, например

ssh -l userid host.domain.com "df -h"

userid@host.domain.com's password: XXXXX

Filesystem            Size  Used Avail Use% Mounted on
/dev/sdd5             4.9G  1.7G  3.0G  36% /
/dev/sdc1             1.1G   75M  952M   8% /boot
/dev/sdd2             2.0G   44M  1.8G   3% /var/log

Можете ли вы порекомендовать какой-либо бесплатный компонент или библиотеку? Я посмотрел на страницах Тори и немного погуглил, но ничего не нашел.

Я мог бы также искать альтернативы, если таковые имеются.

1 Ответ

14 голосов
/ 29 января 2010

Вы можете установить клиент Cygwin OpenSSH, затем вызвать его из своего приложения и записать его вывод.

Вот пример того, как захватить вывод консоли: http://delphi.about.com/cs/adptips2001/a/bltip0201_2.htm

Имейте в виду, что при входе на SSH-сервер пароль запрашивается в интерактивном режиме (SSH-клиент будет ждать, пока вы введете пароль), поэтому вы должны настроить автоматический вход в систему, как описано здесь:

http://magicmonster.com/kb/net/ssh/auto_login.html

Немного более сложным решением является использование Synapse Lib для подключения к серверу с использованием SSL, как в следующем примере:

http://www.amsoftwaredesign.com/downloads/synapse_ssh_test.zip

Я разместил в своем блоге статью с простым классом, позволяющим вам делать то, что вы хотите: http://leonardorame.blogspot.com/2010/01/synapse-based-ssh-client.html

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...