我在網頁中嵌入了一個JSCH SSH Java applet,需要知道是否可以運行腳本(PHP之類的任何語言)來自動登錄和運行命令。我聽說expect4j和java機器人,但看不到任何方式來實現它。請記住,我對Java並不擅長,所以我不知道它的一切。任何幫助表示讚賞。JSCH Java applet
回答
JSch是一個SSH客戶端庫,並且本身只有允許以編程方式控制連接到另一臺服務器。用戶交互必須由庫的用戶在其周圍構建。
網站上提供的JCTerm小程序還包含一個Java GUI形式的終端仿真程序。如果你只想自動執行一些命令(也許在網頁上顯示它的輸出),你可以在服務器端做所有事情,並且不需要applet和它的終端仿真器。 (你可能需要服務器端的一些PHP-Java橋接器,或者一些支持Java的網絡服務器,但是使用Servlet或類似的服務器。)
(如果Web服務器與運行服務器的機器相同在你的命令甚至不需要SSH連接,但可以直接執行這些東西)。
如果服務器不能做任何事情(即「靜態服務器」),一個小程序是要走的路,是。您可以修改JCTerm或從頭開始創建新的小程序(使用JCTerm的連接代碼作爲如何連接到服務器的示例)。
如果您不必擔心局域網內的任何惡意用戶(即Web服務器和用戶之間,SSH服務器無關緊要),則可以嵌入密碼(或最好是公鑰的私鑰驗證)到applet的jar文件中,並將其傳遞給庫以進行連接。 (你還應該包括更方便的檢查服務器的公鑰。)
提供的命令(S)到(而不是ChannelShell
),這使得它更容易提供輸入(如有必要)並捕獲輸出。將輸出管道輸入到文本區域,或者簡單地使用綠色/紅色標籤來說明命令是否成功執行。
(我可能會在接下來的日子裏一看這並嘗試去做。沒有答應,雖然)。
那麼用嵌入的用戶名和密碼修改當前applet的jar文件? – 2012-02-17 21:41:38
告訴我,如果我有添加代碼的正確步驟。就像我說的,我對Java並不擅長。將這些行添加到jar文件中的類文件中。將它重新編譯回jar並添加到applet中?這是要走的路嗎? – 2012-02-17 21:43:35
- 1. transparant java applet
- 2. Java Applet的ClassNotFoundException
- 3. Java Applet java.security.AccessControlException?
- 4. 嵌入Java Applet
- 5. Java applet HttpClient AccessControlException
- 6. 多類Java Applet
- 7. java ide applet
- 8. Java VNC Applet
- 9. Java Web Start與Java Applet
- 10. Java Applet Com端口
- 11. 的Java Applet圖形
- 12. Java Applet - ArrayIndexOutOfBoundsException(pt 2)
- 13. Java Applet類文件
- 14. XUL中的Java applet
- 15. Firefox中的Java Applet
- 16. java applet的錯誤
- 17. Java applet滾動條
- 18. 與Java Applet交互
- 19. PHP,Java Applet通信
- 20. java.lang.NoClassDefFoundError:解析失敗:Lcom/jcraft/jsch/JSch;
- 21. java FX applet和java applet有什麼區別?
- 22. 使用Java的SFTP文件傳輸JSch
- 23. 使用JSCH Java ssh庫的經驗
- 24. Java jsch和遠程文件傳輸
- 25. 如何讓JSCh/JCE使用Java 1.4?
- 26. SFTP Java - 管道關閉Jsch異常
- 27. Jsch Suppressed:java.lang.ClassNotFoundException:Lorg.ietf.jgss.Oid
- 28. Java Applet需要讀取MySQL
- 29. 使用eclipse部署Java Applet
- 30. Java安全AccessControlException在Applet中
難道你真的想要的小應用程序登錄到您(或他人的)服務器,並執行每次有人訪問您的網頁時都會有命令?然後輸出應該顯示給訪問用戶?或者你真的想要做什麼? – 2012-02-17 20:23:55
它需要使用ssh自動設置密碼登錄。所有這些都在同一個LAN上。它不在任何地方。首先,我驗證IP地址,然後我需要小程序登錄到該IP地址。 – 2012-02-17 21:02:34
如果我可以用另一種方法做到這一點,我也會這樣做。我並不堅持JSCH。我只需要它通過一個網頁。 – 2012-02-17 21:03:49