相比SSH、RDP等方式,通过会话管理连接实例更加便捷,免密码,免公网IP,无需开启SSH和RDP端口。本文介绍通过会话管理连接实例时的要求和操作。

前提条件

实例需满足以下条件:
  • 处于运行中状态。
  • 已安装云助手Agent,且客户端版本支持会话管理,即确保Linux操作系统中使用的客户端版本不低于2.2.3.196,Windows操作系统中使用的客户端版本不低于2.1.3.196。具体操作,请参见安装云助手Agent

背景信息

  • 会话管理功能有地域限制,具体支持的地域,请参见支持的地域
  • 会话管理兼顾安全和便捷,更多工作原理的说明,请参见会话管理概述

操作步骤

阿里云账号和RAM用户均可以开启并使用会话管理功能。

如果您通过RAM用户使用会话管理功能,请确保RAM用户拥有调用StartTerminalSession的权限。详细的权限策略示例,请参见权限策略示例

  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择实例与镜像 > 实例
  3. 在顶部菜单栏左上角处,选择地域。
  4. 实例页面,找到待连接的实例,然后单击操作区域中的远程连接
  5. 单击展开其他登录方式,确保会话管理已开启(全地域),如果显示会话管理已关闭,请先打开功能开关。
    重要 免密登录更加便捷,但请在授权RAM用户时保持谨慎,避免因RAM用户管理或授权不当导致越权操作。
    session-mgr-switch
  6. 单击免密登录
    连接成功后,默认以ecs-assist-user用户登录实例,效果如下图所示。session-mgr-logon

权限策略示例

RAM用户必须拥有调用StartTerminalSession的权限,才能通过会话管理连接实例。创建权限策略和为RAM用户授权的操作,请参见创建自定义权限策略为RAM用户授权。以下为权限策略内容示例:
  • 允许连接所有实例
    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "ecs:StartTerminalSession"
                ],
                "Resource": [
                    "acs:ecs:*:*:instance/*"
                ]
            }
        ],
        "Version": "1"
    }
  • 允许连接指定的实例
    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "ecs:StartTerminalSession"
                ],
                "Resource": [
                    "acs:ecs:*:*:instance/i-****",
                    "acs:ecs:*:*:instance/i-****"
                ]
            }
        ],
        "Version": "1"
    }
    说明 请将<i-****>替换为指定实例的ID。
  • 允许连接绑定了指定标签的实例
    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "ecs:StartTerminalSession"
                ],
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "ecs:tag/key-****": "value-****"
                    }
                }
            }
        ],
        "Version": "1"
    }
    说明 请将key-****替换为指定的标签键,value-****替换为指定的标签值。
  • 允许通过指定的IP连接实例
    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "ecs:StartTerminalSession"
                ],
                "Resource": "*",
                "Condition": {
                    "IpAddress": {
                        "acs:SourceIp": [
                            "192.168.XX.XX",
                            "192.168.XX.XX/24"
                        ]
                    }
                }
            }
        ],
        "Version": "1"
    }
    说明 请将192.168.XX.XX192.168.XX.XX/24替换为指定的IP或CIDR地址段。