youdianman 发表于 2015-7-31 12:13:33

使用Apache Felix Remote Shell远程管理OSGI

通过Apache Felix Remote Shell提供的org.apache.felix.shell.remote能使用telnet客户端访问远程的和服务,只是简单的匿名访问,不需要认证.因此这种远程shell访问不会有任何安全可言,如果JVM上没有运行任何安全管理框架,那么任何用户连接到远程shell上都可以完全控制osgi系统(唯一保证安全的配置就是保证osgi.shell.telnet.ip不可公开访问,只可内网访问或者vpn等)

安装前提:

如果使用的是Felix shell,那么需要安装【org.apache.felix.shell】 bundle,或者使用的是Gogo,那么需要安装【org.apache.felix.gogo.runtime】bundle、【org.apache.felix.gogo.shell】bundle.

注意 : 如果同时安装有Felix shell和Gogo并且都激活了的话,那么当用telnet连接Shell会默认使用Gogo,如果想用telnet连接Felix shell,那么应该停掉Gogo服务.



当符合上述条件后可以去官网下载最新的bundle来进行安装:https://felix.apache.org

我这里使用的是版本是1.1.2 : http://mirror.esocc.com/apache/felix/org.apache.felix.shell.remote-1.1.2.jar



其中配置参数:


osgi.shell.telnet.ip = 10.206.19.53
osgi.shell.telnet.port=6789
osgi.shell.telnet.maxconn=2
osgi.shell.telnet.socketTimeout=0

注意:Apache Felix Remote Shell默认的是监听的本地(127.0.0.1)的6666端口



安装之前我的osgi环境的bundle列表:





安装完成之后:







现在可以使用telnet进行连接了:telnet 10.206.19.53 6789





页: [1]
查看完整版本: 使用Apache Felix Remote Shell远程管理OSGI