2010-01-29 45 views
12

我需要我的Delphi應用程序發出非常簡單的命令例如SSH客戶端德爾福開源庫或組件,或替代

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

[email protected]'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 

你能推薦任何免費軟件組件或庫?我查看了Tory的頁面並搜索了一下,但找不到任何內容。

我也可以尋找替代品,如果有的話。

回答

13

您可以安裝Cygwin的OpenSSH客戶端,然後從您的應用程序調用並捕獲它的輸出。

這裏是如何捕捉控制檯輸出的例子: http://delphi.about.com/cs/adptips2001/a/bltip0201_2.htm

請記住,當你洛在SSH服務器,密碼請求,在交互模式(SSH客戶端將等待直到您鍵入的密碼),所以你必須配置自動登錄,喜歡它的說明如下:

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

稍微複雜一點的解決方案是使用突觸庫連接到服務器通過使用SSL,像這樣的例子:

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

我貼在我的博客文章,用一個簡單的類,讓你做你想做的:http://leonardorame.blogspot.com/2010/01/synapse-based-ssh-client.html

希望這有助於。

+1

+1對於Synapse,正是我所推薦的,這是一個更清潔的解決方案......儘管它需要第三方DLL(用於SSL實現),但不需要安裝第三方軟件。 – skamradt 2010-01-29 16:51:06

+0

非常感謝,這正是我所需要的。 – 2010-01-29 20:24:26

+0

+1爲您的博客文章,我一直在尋找很長一段時間!謝謝! – migajek 2010-01-29 21:52:36