JTA(java telnet/ssh client)不能telnet/ssh遠程機器問題與解決

來源:互聯網
上載者:User

最近公司在使用一個java ssh client(JTA http://javassh.org/space/start)來做為web頁面中遠程telnet/ssh機器的用戶端,但是在使用jta提供的applet的時候總是不能telnet/ssh,但是在下載了源碼包之後,直接使用源碼包中的測試頁面是可以訪問的,後來查了一下資料,看了一下jta的日誌發現是因為jta的applet裡使用了Socket去串連遠程機器的,而在applet裡使用Socket是會有安全問題的,預設是不允許的,對於這個問題其實是有兩個解決辦法的,第一個是修改每個用戶端的java.policy檔案,添加對Socket訪問允許的配置;另一個是對applet的jar檔案做數位簽章,這樣就用戶端就不需要做任何修改,只是在用瀏覽器訪問applet出現提示的時候選擇信任這個簽名的applet就可以了。下面就對兩種方法做個說明:

1. 修改本地策略檔案

  在本地的以下兩個檔案

  {JAVA_HOME}/jre/lib/security/java.policy

  {JRE_HOME}/jre/lib/security/java.policy

  在其中grant部分添加

  permission java.security.AllPermission;

  然後重新啟動瀏覽器再次訪問applet就可以訪問遠端機器了

2. 添加數位簽章

  1) 下載最新的jta包,這裡假定使用的是jta26.jar

  2) 運行 keytool -genkey -keystore jta26.store -alias jta26

  3) 運行 keytool -export -keystore jta26.store -alias jta26 -file jta26.cert

  4) 運行 jarsigner -keystore jta26.store jta26.jar jta26

  5) 然後重新啟動瀏覽器再次訪問applet就可以訪問遠端機器了

 

參考資料:

http://www-personal.umich.edu/~lsiden/tutorials/signed-applet/signed-applet.html

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.