java – 使用SSH的Apache Felix shell

我对如何使用Apache Felix和SSH感兴趣?我想使用SSH从远程计算机访问Felix shell.我知道有一个telnet支持,但它太不安全了.有什么解决方案吗?

解决方法

是的,有一个,如 here所述(该指南相对于eclipse的昼夜平分点但无关紧要)使用 gogo shell,apache mina sshd服务器和三个 equinox console bundles(用于ssh身份验证的核心ssh插件jaas插件)的组合,您将能够连接到mina的ssh服务器,你的与OSGi相关的命令将由gogo shell执行.

你需要这些包:

> GoGo Shell:org.apache.felix.gogo.command.jar,org.apache.felix.gogo.runtime.jar,org.apache.felix.gogo.shell.jar
> Equinox控制台捆绑包:org.eclipse.equinox.console.jar,org.eclipse.equinox.console.supportability.jar,org.eclipse.equinox.console.jaas.fragment.jar
> Apache Mina:org.apache.mina.core.jar,org.apache.sshd.core.jar
>并记录slf4j-api.jar和slf4j-api_impl.jar

here所述,您还需要Felix配置文件中的这些属性:

osgi.console.enable.builtin=false 
osgi.console.ssh=<port> 
osgi.console.ssh.useDefaultSecureStorage=true

equinox JAAS包将搜索org.eclipse.equinox.console.authentication.config文件,该文件将启用登录模块:

equinox_console { 
    org.eclipse.equinox.console.jaas.SecureStorageLoginModule REQUIRED; 
};

我不太确定在哪里使用Felix进行搜索(我不确定这是以标准的OSGi方式完成的),但conf目录是一个很好的猜测.

用户equinox / equinox已经存在,可以使用提供的控制台命令创建其他用户.

编辑:
对于equinox控制台/可支持性软件包,您可以获得Mars版本from here扩展附加软件包部分:

org.eclipse.equinox.console_1.1.100.v20141023-1406.jar

您还需要supportability bundle from here(最后一个版本是2011年).

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...