2015-06-02 3 views
7

Мне интересно, как я могу использовать Apache Felix с SSH? Я хочу получить доступ к оболочке Felix с удаленного компьютера с помощью SSH. Я знаю, что есть поддержка telnet, но это слишком опасно. Есть ли решение?Apache Felix shell с SSH

ответ

3

Да, есть один, как описано here (руководство является родственницей затмить равноденствие, но это не имеет значения), используя комбинацию gogo shell, apache mina sshd сервера и три equinox console bundles (ядро + SSH плагин + JAAS плагин для аутентификации SSH), вы сможете подключиться к ssh-серверу mina, а ваши команды, связанные с OSGi, будут выполнены оболочкой gogo.

Вам понадобятся эти связки:

  • 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 

равноденствие JAAS связка будет искать org.eclipse.equinox.console.authentication.config файла, что позволит модуль входа:

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

Я не совсем уверен, что ж здесь это будет искать с использованием Felix (я не уверен, что это делается стандартным способом OSGi), но каталог conf - это хорошая догадка.

Пользователь equinox/equinox уже присутствует, другие пользователи могут быть созданы с предоставленными консольными командами.

Edit: Для равноденствия консоли/Supportability пачке вы можете получить Марс релиз from here расширяет раздел Надстройка на Связки:

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

Вам также потребуется supportability bundle, что вы можете получите from here (последняя версия с 2011 года).

+0

Мне удалось создать этот https://www.dropbox.com/s/rkd9phus29yb3dd/server.zip?dl=0, но я получаю следующие ошибки: http://pastebin.com/XhihQDcb –

+0

'missing required [org .apache.mina.core [1] (R 1.0)] osgi.wiring.package; (& (osgi.wiring.packa ge = org.slf4j) 'вам нужны банки slf4j, используемые для ведения журнала. –

+0

Я исправил эту проблему. https://www.dropbox.com/s/a7gyz1bd29yhan7/server_2.rar? dl = 0 Но есть новая проблема: 'org.osgi.framework.BundleException: не удается решить org.eclipse.equinox.console' –