2015-06-02 58 views
7

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

3

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

+0

Sono riuscito a creare questo https://www.dropbox.com/s/rkd9phus29yb3dd/server.zip?dl=0 ma ottengo questi errori: http://pastebin.com/XhihQDcb –

+0

'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 –

+0

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' –