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年).

相关文章

应用场景 C端用户提交工单、工单创建完成之后、会发布一条工...
线程类,设置有一个公共资源 package cn.org.chris.concurre...
Java中的数字(带有0前缀和字符串)
在Java 9中使用JLink的目的是什么?
Java Stream API Filter(过滤器)
在Java中找到正数和负数数组元素的数量