Mi interessa sapere come utilizzare Apache Felix con SSH? Voglio accedere alla shell Felix dal computer remoto usando SSH. So che esiste un supporto telnet ma è troppo pericoloso. C'è qualche soluzione?Shell Apache Felix con SSH
risposta
Sì, ce n'è uno, come descritto here (la guida è relativo equinozio di eclissare, ma non importa) utilizzando una combinazione di gogo shell, apache mina sshd server e tre equinox console bundles (core + ssh del plugin + jaas plug-in per l'autenticazione SSH) sarete in grado di connettervi al server ssh di mina e i vostri comandi relativi a OSGi saranno eseguiti dalla shell gogo.
Avrete bisogno di questi bundle:
- GoGo Shell: org.apache.felix.gogo.command.jar, org.apache.felix.gogo.runtime.jar, org.apache. felix.gogo.shell.jar
- Equinox console bundle: 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
- E per la registrazione slf4j-api.jar e slf4j-api_impl.jar
Come descritto here, avrete anche bisogno di queste proprietà nel file di configurazione Felix:
osgi.console.enable.builtin=false
osgi.console.ssh=<port>
osgi.console.ssh.useDefaultSecureStorage=true
l'equinozio JAAS bundle cercare un file org.eclipse.equinox.console.authentication.config
, che permetterà al modulo di login:
equinox_console {
org.eclipse.equinox.console.jaas.SecureStorageLoginModule REQUIRED;
};
io non sono abbastanza sicuro w qui questo verrà cercato usando Felix (non sono sicuro che sia fatto in modo OSGi standard), ma la directory conf
è una buona ipotesi.
L'equinozio utente/equinozio sarà già presente, altri utenti possono essere creati con i comandi della console forniti.
Edit: Per l'equinozio di console/sostenibilità fascio è possibile ottenere il Mars rilasciare from here espandendo la sezione Add-on Bundle:
org.eclipse.equinox.console_1.1.100.v20141023-1406.jar
Avrete anche bisogno del supportability bundle che si può get from here (l'ultima versione è del 2011).
Sono riuscito a creare questo https://www.dropbox.com/s/rkd9phus29yb3dd/server.zip?dl=0 ma ottengo questi errori: http://pastebin.com/XhihQDcb –
'Requisito mancante [org .apache.mina.core [1] (R 1.0)] osgi.wiring.package; (& (osgi.wiring.packa ge = org.slf4j) 'avete bisogno dei contenitori slf4j, usati per la registrazione –
Ho risolto questo problema https://www.dropbox.com/s/a7gyz1bd29yhan7/server_2.rar? dl = 0 Ma c'è un nuovo problema: 'org.osgi.framework.BundleException: impossibile risolvere org.eclipse.equinox.console' –