如果您需要实现免密码、免公网IP或无需开启SSH和RDP端口直接连接ECS实例,您可以通过会话管理来连接。会话管理相比SSH、VNC等方式,可以更便捷、安全地远程连接ECS实例。本文为您介绍如何通过会话管理连接ECS实例。
会话管理的工作原理说明,请参见会话管理概述。
前提条件
使用会话管理功能需满足以下条件:
该实例处于运行中状态。
该实例已安装云助手Agent,并且Agent版本满足以下要求:
Linux实例:不低于2.2.3.196。
Windows实例:不低于2.1.3.196。
关于如何查询云助手Agent版本及升级云助手Agent,请参见查看ECS实例的云助手Agent信息和升级或禁止升级云助手Agent。
操作步骤
登录ECS管理控制台。
在左侧导航栏,选择 。
在页面左侧顶部,选择目标资源所在的资源组和地域。
在实例页面,找到待连接的实例,单击对应操作列的远程连接。
单击展开其他登录方式,确保会话管理已开启(全地域),如果显示会话管理已关闭,请先打开功能开关。
重要打开会话管理功能开关前,请确保RAM用户具有查看会话管理配置的DescribeUserBusinessBehavior权限和打开或关闭会话管理功能的ModifyUserBusinessBehavior权限,详细的权限策略示例,请参见权限策略示例。
单击免密登录。
连接成功后,Linux实例默认以ecs-assist-user用户登录实例,Windows实例默认以system用户登录。以Linux实例为例,效果如下图所示。
权限策略示例
创建权限策略和为RAM用户授权的操作,请参见创建自定义权限策略和为RAM用户授权。使用会话管理连接实例时,权限说明如下:
RAM用户必须拥有调用StartTerminalSession的权限,才能通过会话管理连接实例。以下为权限策略内容示例:
允许连接所有实例
{ "Statement": [ { "Effect": "Allow", "Action": [ "ecs:StartTerminalSession" ], "Resource": [ "acs:ecs:*:*:instance/*" ] } ], "Version": "1" }
允许连接指定的实例
重要请将<i-****>替换为指定实例的ID。
{ "Statement": [ { "Effect": "Allow", "Action": [ "ecs:StartTerminalSession" ], "Resource": [ "acs:ecs:*:*:instance/i-bp11igy9rss1hu8y****", "acs:ecs:*:*:instance/i-bp1fihgzdytqve94****" ] } ], "Version": "1" }
允许连接绑定了指定标签的实例
重要请将key-****替换为指定的标签键,value-****替换为指定的标签值。
{ "Statement": [ { "Effect": "Allow", "Action": [ "ecs:StartTerminalSession" ], "Resource": "*", "Condition": { "StringEquals": { "ecs:tag/key-****": "value-****" } } } ], "Version": "1" }
允许通过指定的IP连接实例
重要请将192.168.XX.XX和192.168.XX.XX/24替换为指定的IP或CIDR地址段。
{ "Statement": [ { "Effect": "Allow", "Action": [ "ecs:StartTerminalSession" ], "Resource": "*", "Condition": { "IpAddress": { "acs:SourceIp": [ "192.168.XX.XX", "192.168.XX.XX/24" ] } } } ], "Version": "1" }
您只需要在打开会话管理开关前,为RAM用户添加查看会话管理配置的DescribeUserBusinessBehavior权限和打开或关闭会话管理的ModifyUserBusinessBehavior权限。打开开关后,您可以根据实际需要取消授权。以下为权限策略内容示例:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:ModifyUserBusinessBehavior", "ecs:DescribeUserBusinessBehavior" ], "Resource": "acs:ecs:*:*:instance/*" } ] }
如何在自己的应用中集成会话管理远程登录功能?
在开源项目cloud-assistant-starter中,包含了使用会话管理功能,远程连接到云服务器或托管实例的完整代码。项目中的AxtSession.tsx包含了连接与使用StartTerminalSession所返回的WebSocketURL的完整代码,将这段代码移植到您自己的企业应用中,即可实现免密码、免公网远程登录功能的会话管理。
相关文档
会话管理支持多种方式连接实例,您可以根据业务需要,选择合适的连接方式。