会话管理是云助手提供的功能,用于便捷安全地远程连接ECS实例。本文介绍如何通过会话管理CLI连接ECS实例。
前提条件
需要连接的目标实例中已安装云助手Agent,并且Windows客户端版本大于等于2.1.3.256、Linux客户端版本大于等于2.2.3.256。具体操作,请参见安装云助手Agent。
已开启会话管理功能,具体操作,请参见通过会话管理连接实例。
背景信息
使用会话管理CLI远程连接目标ECS实例时,无需暴露实例公网IP与端口,只需获取阿里云ECS实例ID与密码,即可通过会话管理客户端连接目标实例。相比SSH、VNC等方式,可以更便捷地远程连接ECS实例,且兼具安全性。关于会话管理的更多信息,请参见会话管理概述。
Linux、macOS操作系统
本文操作以test用户为例,具体操作以您实际操作的用户和用户目录为准。
登录会话管理客户端。
在会话管理客户端安装ali-instance-cli。
不同操作系统的客户端安装方式不同,具体说明如下:
Linux
curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/linux/ali-instance-cli chmod a+x ali-instance-cli
macOS:
curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/mac/ali-instance-cli chmod a+x ali-instance-cli
配置AccessKey、STS Token或CredentialsURI。
关于如何获取AccessKey或STS Token,请参见创建AccessKey和什么是STS。
切换到test目录。
cd /home/test
配置鉴权认证方式。
支持以下三种配置方式:
AccessKey配置方式
执行如下命令,根据界面提示,输入AccessKey ID、AccessKey Secret、RegionID。
./ali-instance-cli configure --mode AK
STS Token配置方式
说明region、ak、sk、token要修改为实际的Region ID、AccessKey ID、AccessKey Secret和STS Token。
./ali-instance-cli configure set --mode StsToken --region "region" --access-key-id "ak" --access-key-secret "sk" --sts-token "token"
CredentialsURI配置方式
执行如下命令,根据界面提示,输入CredentialsURI和RegionID。
说明CredentialsURI为您配置的认证服务器的地址。
./ali-instance-cli configure --mode=CredentialsURI
当回显出现如图所示内容时,说明鉴权方式已配置完成。
执行如下命令,连接目标实例。
./ali-instance-cli session --instance instance-id
说明instance id请替换成目标实例ID。
当回显如下图所示时,说明已经通过Session Manager方式连接到目标实例。
Windows操作系统
使用会话管理客户端的Windows操作系统已安装OpenSSH。具体操作,请参见使用云助手在Windows实例中安装OpenSSH程序。
本文操作以test用户为例,具体操作以您实际操作的用户和用户目录为准。
登录会话管理客户端。
具体操作,请参见连接方式概述。
在会话管理客户端下载ali-instance-cli。
下载Windows版ali-instance-cli并保存到本地文件夹中,如
C:\Users\test
。配置AccessKey或STS Token。
关于如何获取AccessKey或STS Token,请参见创建AccessKey和什么是STS。
选择
,输入cmd,按Enter
键,打开命令提示符窗口。切换到test目录。
cd C:\Users\test
配置鉴权认证方式。
支持以下三种配置方式:
AccessKey配置方式
执行如下命令,根据界面提示,输入AccessKey ID、AccessKey Secret、RegionID。
ali-instance-cli.exe configure --mode AK
STS Token配置方式
说明region、ak、sk、token要修改为实际的Region ID、AccessKey ID、AccessKey Secret和STS Token。
ali-instance-cli.exe configure set --mode StsToken --region "region" --access-key-id "ak" --access-key-secret "sk" --sts-token "token"
CredentialsURI配置方式
执行如下命令,根据界面提示,输入CredentialsURI和RegionID。
ali-instance-cli.exe configure --mode=CredentialsURI
当回显出现如图所示内容时,说明鉴权方式已配置完成。
执行如下命令,连接目标实例。
.\ali-instance-cli.exe session --instance instance-id
说明instance id请替换成目标实例ID。
当回显如下图所示时,说明已经通过Session Manager方式连接到目标实例。
常见问题
当使用会话管理客户端出现问题时,您可以通过查看log分析具体问题。
查看会话管理客户端的日志:当前log目录,如
/home/test/log/aliyun_ecs_session_log.2022XXXX
。查看云助手Agent日志:
Linux
/usr/local/share/aliyun-assist/云助手版本号/log/
Windows
C:\ProgramData\aliyun\assist\云助手版本号\log
会话管理功能未开启
若会话管理功能未开启,使用会话管理客户端连接远程实例,会出现ssh_exchange_identification: Connection closed by remote host
的错误提示。并且,会话管理客户端的日志里面会出现session manager is disabled, please enable first
。请通过控制台开启会话管理功能,具体操作,请参见通过会话管理连接实例。
会话管理自动断开
使用会话管理连接到目标实例后,如果长时间没有任何操作连接会自动断开。默认的连接空闲时间为3分钟,您可以通过--idle-timeout
参数自定义最大空闲时间。例如执行以下命令连接到目标实例后,连接空闲达到10分钟就会自动断开。
此功能需确保ali-instance-cli不低于以下版本:
Linux:1.2.0.48
Windows:1.1.0.48
macOS:1.3.0.48
./ali-instance-cli session --instance instance-id --idle-timeout 600