我已经在网页中嵌入了一个,并且需要知道是否可以运行脚本(任何语言,比如PHP)来自动登录和运行命令。我听说过expect4j和java机器人,但却找不到实现它的方法。请记住,我对Java不是很好,所以我不知道关于它的一切。任何帮助都是非常感谢的。
发布于 2012-02-17 21:34:20
JSch是一个SSH客户端库,它本身只有才允许以编程方式引导连接到另一台服务器。用户交互必须由库的用户围绕它构建。
网站上提供的JCTerm小程序还包含一个终端模拟器,其形式是Java。如果您只想自动执行某些命令(并可能在网页中显示其输出),则可以在服务器端完成所有操作,而不需要带有其终端仿真器的applet。(您可能需要服务器端的PHP-Java桥,或者使用Servlet或类似的支持Java的need服务器。)
(如果web服务器与服务器是同一台机器,那么您甚至不需要SSH连接,而是可以直接执行命令。)
如果服务器不能做任何事情(即“静态服务器”),那么可以使用applet。您可以从头修改JCTerm或创建一个新的applet (使用JCTerm的连接代码作为如何连接到服务器的示例)。
如果您不必担心局域网中的任何恶意用户(即web服务器和用户之间,SSH服务器并不重要),您可以将密码(最好是用于公钥身份验证的私钥)嵌入到applet的jar文件中,并将其传递给库进行连接。(您还应该包括服务器的公钥以便于检查。)
向ChannelExec (而不是ChannelShell)提供命令,这样可以更容易地提供输入(如果需要)并捕获输出。在文本区域中输入输出,或者使用绿色/红色标签表示命令是否成功执行。
(我可能会在接下来的几天里看一看,然后试着去做。但没有承诺。)
https://stackoverflow.com/questions/9322488
复制相似问题