7

我对如何将 Apache Felix 与 SSH 一起使用感兴趣?我想使用 SSH 从远程计算机访问 Felix shell。我知道有 telnet 支持,但它太不安全了。有什么解决办法吗?

4

1 回答 1

3

是的,有一个,如此所述(该指南与 Eclipse 的 Equinox 相关,但没关系)使用gogo shellapache mina sshd服务器和三个equinox 控制台捆绑包(core+ssh 插件+jaas ssh 插件)的组合身份验证)您将能够连接到 mina 的 ssh 服务器,并且您与 OSGi 相关的命令将由 gogo shell 执行。

您将需要这些捆绑包:

  • GoGo 外壳: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

如此处所述,您还需要在 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 版本,扩展附加捆绑包部分:

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

您还需要可从此处获取的可支持性捆绑包(最新版本来自 2011 年)。

于 2015-06-24T21:04:18.613 回答