我需要我的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
您能推荐任何免费软件组件或库吗?我查看过保守党的页面并用Google搜索了一下但找不到任何内容。
如果有的话,我也可以寻找替代方案。
答案 0 :(得分:14)
您可以安装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
希望这有帮助。