通過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

