使用Apache Felix Remote Shell远程管理OSGI
通过Apache Felix Remote Shell提供的org.apache.felix.shell.remote能使用telnet客户端访问远程的[Apache Felix Shell]和[Apache Felix Gogo]服务,只是简单的匿名访问,不需要认证.因此这种远程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
其中配置参数:
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