本场景将提供一台配置了Alibaba Cloud Linux 2操作系统的ECS实例(云服务器)。通过本教程的操作,带您体验如何使用通过ali-instance-cli使用会话管理连接ECS实例,和通过ali-instance-cli对ECS内部服务进行端口转发,建立从远程桌面到ECS内部服务的转发通路,体验无公网的ECS内部的服务的访问。
背景知识
本场景主要涉及以下云产品和服务:
云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。
会话管理是由云助手提供的功能,相比SSH、VNC等方式,可以更便捷地远程连接ECS实例,且兼具安全性。
- 连接原理
会话管理涉及以下端:
- 会话管理客户端:负责发起会话、接收用户输入并展示输出。
- 云助手服务端:负责权限控制、管理会话状态。
- ECS实例内部的云助手客户端:负责执行输入的命令。
会话管理建立连接的原理如下:
- 会话管理客户端发起会话。
- 云助手服务端进行鉴权,鉴权通过后会生成用于发起连接的WebSocket URL,以及一个10分钟内有效的token,返回给会话管理客户端。
- 会话管理客户端通过WebSocket URL、token与云助手服务端建立WebSocket连接。
- 云助手服务端通知ECS实例内部的云助手客户端建立WebSocket连接。
- 云助手客户端和云助手服务端建立WebSocket连接。
- 在建立WebSocket连接后,您可以在会话管理客户端输入命令,该命令会以流式传输的方式传输到ECS并执行,最终在会话管理客户端显示执行结果。
- 安全性
会话管理客户端与云助手服务端、云助手服务端与云助手客户端之间通信时,会通过WSS(Web Socket Secure)协议建立WebSocket长连接,WSS使用SSL(Secure Socket Layer)加密WebSocket长连接,能够保障数据的安全。
使用会话管理功能远程连接实例时无需管理密码。不同于SSH、VNC等需要通过用户名密码进行鉴权,会话管理采用RAM进行鉴权。您可以登录阿里云账号开启或关闭会话管理功能,功能适用对象为账号下的全部实例。开启会话管理功能后,阿里云账号和RAM用户均可以通过该功能远程连接实例。
如果需要通过RAM用户使用会话管理功能,必须再为RAM用户授予调用StartTerminalSession的权限。通过RAM权限策略,您可以从地域、标签、ECS实例、源IP地址等维度实现权限控制,虽然远程连接实例时不需要密码,仍然能够通过RAM权限策略安全地管理实例。具体操作,请参见通过会话管理连接实例。
由于云助手客户端与云助手服务端之间通过WebSocket连接,不需要通过SSH、VNC等方式登录ECS实例,所以不需要打开ECS实例的入方向端口,进一步提高了ECS实例的安全性。