容器的远程访问方法、系统、服务端和访问辅助组件技术方案

技术编号:25193002 阅读:18 留言:0更新日期:2020-08-07 21:19
本发明专利技术实施例提供一种容器的远程访问方法、系统、服务端和访问辅助组件,该方法包括:接收客户端发送的ssh访问请求,其包括用户标识和密码;将ssh访问请求发送至访问辅助组件以使其根据用户标识和密码进行认证得到认证结果;若认证结果符合预设条件则向访问辅助组件请求用户标识对应的已授权容器的容器标识;将容器标识发送至客户端并接收返回的容器访问指令,容器访问指令是客户端根据输入的待访问容器的容器标识生成的;根据容器访问指令将待访问容器的输入、输出流重定向到客户端以通过客户端访问容器。本发明专利技术实施例不需要在容器内部安装sshd进程实现了容器的访问,无需增加额外的服务节点减少资源开销降低了服务运维难度。

【技术实现步骤摘要】
容器的远程访问方法、系统、服务端和访问辅助组件
本专利技术实施例涉及计算机
,尤其涉及一种容器的远程访问方法、系统、服务端和访问辅助组件。
技术介绍
容器是提供一种应用程序运行的一个环境,当开发人员打包开发完成的一个应用以及所需的开发环境,通过容器可以运行在不同的计算机上面,不需要在计算机中重新配置应用程序运行所需的环境,只需要在计算机云平台上配置运行和管理容器的容器编排引擎,比如开源的容器集群管理系统kubernetes,当需要运行相关应用程序时,访问相应的容器即可运行。传统的容器远程访问方法是基于虚拟机的思想,在每个容器中启动一个sshd进程,用户通过客户端指定容器的IP地址远程连接到容器。但是这种方法需要修改容器的启动参数,在容器内运行sshd进程,给容器配置用户名、密码并设置可外部访问的IP地址,过程繁琐且占用宿主机资源。为了解决容器远程访问过程繁琐的问题,技术人员研究出了一种基于web访问容器的方法,主要是利用了自行开发的Websocket服务来替代了sshd服务,并提供了权限控制和访问。但是,这种基于web访问容器的方法需要额外自定义多个Websocket服务节点,使用自定义的Websocket服务节点管理客户端对每一个节点进行暴露会增加额外的资源开销,不仅占用资源多,而且将多个自定义Websocket服务节点部署在物理机上增加服务运维难度。
技术实现思路
本专利技术实施例提供一种容器的远程访问方法、系统、服务端和访问辅助组件,以解决现有技术中通过基于web访问容器导致的资源占用过多,运维难度大的问题。本专利技术实施例的第一方面提供一种容器的远程方法,应用于服务端,包括:接收客户端发送的安全外壳ssh访问请求,所述ssh访问请求包括用户标识和密码;将所述ssh访问请求发送至访问辅助组件,以使所述访问辅助组件根据所述用户标识和密码进行认证得到认证结果;若所述认证结果符合预设条件,则向所述访问辅助组件请求所述用户标识对应的已授权容器的容器标识;将所述容器标识发送至所述客户端并接收所述客户端返回的容器访问指令,所述容器访问指令是所述客户端根据用户输入的待访问容器的容器标识生成的;根据所述容器访问指令,将所述待访问容器的输入流和输出流重定向到所述客户端,以使用户通过所述客户端访问相应的容器。可选地,所述接收客户端发送的ssh访问请求之前,所述方法还包括:采用容器编排引擎Kubernetes部署所述服务端管理的集群,所述集群包括多个容器;将所述集群的访问地址发送至客户端,以使用户根据所述访问地址通过所述客户端发送ssh访问请求。可选地,所述向所述访问辅助组件请求所述用户标识对应的已授权容器的容器标识,包括:向所述访问辅助组件请求所述用户标识对应的容器列表,所述容器列表中包括所述用户标识对应的至少一个已授权容器的容器标识。可选地,所述将所述容器标识发送至所述客户端,包括:判断所述容器列表是否为空;若判断结果为否,则将所述容器列表发送至所述客户端。本专利技术实施例的第二方面提供一种容器的远程方法,应用于访问辅助组件,包括:接收服务端发送的ssh访问请求,并解析所述ssh访问请求得到用户标识和密码;根据所述用户标识和密码进行认证,得到认证结果;若所述认证结果符合预设条件,则响应于所述服务端的请求,将所述用户标识对应的已授权容器的容器标识发送至所述服务端,以使所述服务端将所述容器标识发送至客户端并接收所述客户端返回的容器访问指令,所述容器访问指令是所述客户端根据用户输入的待访问容器的容器标识生成的,根据所述容器访问指令,将所述待访问容器的输入流和输出流重定向到所述客户端,以使用户通过所述客户端访问相应的容器。可选地,所述根据所述用户标识和密码进行认证之前,所述方法还包括:根据用户标识和密码以及预设授权粒度对容器进行授权,所述授权粒度包括命名空间和单个容器。可选地,所述将所述用户标识对应的已授权容器的容器标识发送至所述服务端,包括:根据用户标识对应的已授权容器的容器标识生成容器列表;将所述容器列表发送至所述服务端,以使所述服务端接收并判断所述容器列表是否为空,若判断结果为否,则将所述容器列表发送至所述客户端。本专利技术实施例的第三方面提供一种服务端,包括:接收模块,用于接收用户通过客户端发送的ssh访问请求,所述ssh访问请求包括用户标识和密码;发送模块,用于将所述ssh访问请求发送至访问辅助组件,以使所述访问辅助组件根据所述用户标识和密码进行认证得到认证结果;请求模块,用于若所述认证结果符合预设条件,则向所述访问辅助组件请求所述用户标识对应的已授权容器的容器标识;处理模块,用于将所述容器标识发送至所述客户端并接收所述客户端返回的容器访问指令,所述容器访问指令是所述客户端根据用户输入的待访问容器的容器标识生成的;重定向模块,用于根据所述容器访问指令,将所述待访问容器的输入流和输出流重定向到所述客户端,以使用户通过所述客户端访问相应的容器。本专利技术实施例的第四方面提供一种辅助访问组件,包括:接收模块,用于接收服务端发送的ssh访问请求,并解析所述ssh访问请求得到用户标识和密码;认证模块,用于根据所述用户标识和密码进行认证,得到认证结果;响应模块,用于若所述认证结果符合预设条件,则响应于所述服务端的请求,将所述用户标识对应的已授权容器的容器标识发送至所述服务端,以使所述服务端将所述容器标识发送至客户端并接收所述客户端返回的容器访问指令,所述容器访问指令是所述客户端根据用户输入的待访问容器的容器标识生成的,根据所述容器访问指令,将所述待访问容器的输入流和输出流重定向到所述客户端,以使用户通过所述客户端访问相应的容器。本专利技术实施例的第五方面提供一种容器的远程访问系统,包括:客户端,访问辅助组件和服务端;其中,所述服务端分别与所述客户端和所述访问辅助组件通信;所述服务端用于执行本专利技术实施例第一方面所述的容器的远程访问方法;所述访问辅助组件用于执行本专利技术实施例第二方面所述的容器的远程访问方法。本专利技术实施例的第六方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现本专利技术实施例第一方面或第二方面所述的容器的远程访问方法。本专利技术实施例提供一种容器的远程访问方法、系统、服务端和访问辅助组件,通过服务端接收客户端发送的安全外壳ssh访问请求,ssh访问请求包括用户标识和密码;将ssh访问请求发送至访问辅助组件,从而使得访问辅助组件根据所述用户标识和密码进行认证得到认证结果;若所述认证结果符合预设条件,则向所述访问辅助组件请求所述用户标识对应的已授权容器的容器标识;将容器标识发送至所述客户端并接收所述客户端返回的容器访问指令,容器访问指令是所述客户端根据用户输入的待访问容器的容器标识生成的;通过根据所述容本文档来自技高网...

【技术保护点】
1.一种容器的远程访问方法,其特征在于,应用于服务端,包括:/n接收客户端发送的安全外壳协议ssh访问请求,所述ssh访问请求包括用户标识和密码;/n将所述ssh访问请求发送至访问辅助组件,以使所述访问辅助组件根据所述用户标识和密码进行认证得到认证结果;/n若所述认证结果符合预设条件,则向所述访问辅助组件请求所述用户标识对应的已授权容器的容器标识;/n将所述容器标识发送至所述客户端并接收所述客户端返回的容器访问指令,所述容器访问指令是所述客户端根据用户输入的待访问容器的容器标识生成的;/n根据所述容器访问指令,将所述待访问容器的输入流和输出流重定向到所述客户端,以使用户通过所述客户端访问相应的容器。/n

【技术特征摘要】
1.一种容器的远程访问方法,其特征在于,应用于服务端,包括:
接收客户端发送的安全外壳协议ssh访问请求,所述ssh访问请求包括用户标识和密码;
将所述ssh访问请求发送至访问辅助组件,以使所述访问辅助组件根据所述用户标识和密码进行认证得到认证结果;
若所述认证结果符合预设条件,则向所述访问辅助组件请求所述用户标识对应的已授权容器的容器标识;
将所述容器标识发送至所述客户端并接收所述客户端返回的容器访问指令,所述容器访问指令是所述客户端根据用户输入的待访问容器的容器标识生成的;
根据所述容器访问指令,将所述待访问容器的输入流和输出流重定向到所述客户端,以使用户通过所述客户端访问相应的容器。


2.根据权利要求1所述的方法,其特征在于,所述接收客户端发送的ssh访问请求之前,所述方法还包括:
采用容器编排引擎Kubernetes部署所述服务端管理的集群,所述集群包括多个容器;
将所述集群的访问地址发送至客户端,以使用户根据所述访问地址通过所述客户端发送ssh访问请求。


3.根据权利要求1所述的方法,其特征在于,所述向所述访问辅助组件请求所述用户标识对应的已授权容器的容器标识,包括:
向所述访问辅助组件请求所述用户标识对应的容器列表,所述容器列表中包括所述用户标识对应的至少一个已授权容器的容器标识。


4.根据权利要求3所述的方法,其特征在于,所述将所述容器标识发送至所述客户端,包括:
判断所述容器列表是否为空;
若判断结果为否,则将所述容器列表发送至所述客户端。


5.一种容器的远程访问方法,其特征在于,应用于访问辅助组件,包括:
接收服务端发送的ssh访问请求,并解析所述ssh访问请求得到用户标识和密码;
根据所述用户标识和密码进行认证,得到认证结果;
若所述认证结果符合预设条件,则响应于所述服务端的请求,将所述用户标识对应的已授权容器的容器标识发送至所述服务端,以使所述服务端将所述容器标识发送至客户端并接收所述客户端返回的容器访问指令,所述容器访问指令是所述客户端根据用户输入的待访问容器的容器标识生成的,根据所述容器访问指令,将所述待访问容器的输入流和输出流重定向到所述客户端,以使用户通过所述客户端访问相应的容器。


6.根据权利要求5所述的方法,其特征在于,所述根据所述用户标识和密码进行认证之前,所述方法还包括:
根据用户标识和密码以及预设授权粒度对容器进行授权,所述授权粒度...

【专利技术属性】
技术研发人员:陆埜李巍樊国柱李伟
申请(专利权)人:上海云励科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1