Мне интересно, как я могу использовать Apache Felix с SSH? Я хочу получить доступ к оболочке Felix с удаленного компьютера с помощью SSH. Я знаю, что есть поддержка telnet, но это слишком опасно. Есть ли решение?Apache Felix shell с SSH
ответ
Да, есть один, как описано 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 года).
Мне удалось создать этот https://www.dropbox.com/s/rkd9phus29yb3dd/server.zip?dl=0, но я получаю следующие ошибки: http://pastebin.com/XhihQDcb –
'missing required [org .apache.mina.core [1] (R 1.0)] osgi.wiring.package; (& (osgi.wiring.packa ge = org.slf4j) 'вам нужны банки slf4j, используемые для ведения журнала. –
Я исправил эту проблему. https://www.dropbox.com/s/a7gyz1bd29yhan7/server_2.rar? dl = 0 Но есть новая проблема: 'org.osgi.framework.BundleException: не удается решить org.eclipse.equinox.console' –