• 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

  • 相关阅读:
    Spring-data-jpa 笔记(一)
    grpc详解 java版
    快速入门正则表达式
    异常的处理
    一位资深程序员大牛给予Java初学者的学习路线建议
    this用法
    静态代码块与非静态代码块
    类的成员变量--构造器
    Java并发机制及锁的实现原理
    JAVA内存模型
  • 原文地址:https://www.cnblogs.com/diyunpeng/p/2317234.html
Copyright © 2020-2023  润新知