JTA(java telnet/ssh client)不能telnet/ssh远程机器问题与解决

最近公司在使用一个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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值