通过会话管理CLI(ali-instance-cli)连接实例
您可以在本机命令行通过会话管理CLI连接到ECS实例,支持免密连接无公网实例。相比于传统的SSH或RDP直连的方式更加安全方便。本文为您介绍会话管理CLI的基本使用。
什么是会话管理CLI?
会话管理CLI,即ali-instance-cli,是阿里云为您提供的命令行工具,在您的个人计算机上安装并配置该工具后,即可以命令行的方式通过会话管理连接实例。
此外,在使用ali-instance-cli时, 您可以配合使用阿里云CLI工具,实现纯命令行操作,关于阿里云CLI的更多信息,请参见什么是阿里云CLI。
准备工作
开启会话管理服务
检查实例运行状态是否为运行中
检查实例云助手Agent是否已安装
准备用于使用会话管理的RAM用户的凭证
1. 安装&配置会话管理CLI
如果您已经安装并配置完成会话管理CLI,可跳过本步骤。
1.1 安装
首先需要在您的个人计算机中安装会话管理CLI(ali-instance-cli),不同操作系统安装方式不同,具体操作如下。
Windows
点击下载Windows版ali-instance-cli,并保存到本地文件夹中。
本文以将ali-instance-cli.exe保存在C:\Users\test
文件夹中为例。
macOS
在macOS的终端中,输入以下命令下载mac版ali-instance-cli。
curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/mac/ali-instance-cli
下载完成后,输入以下命令为ali-instance-cli赋予可执行权限。
chmod a+x ali-instance-cli
Linux
输入以下命令安装Linux版ali-instance-cli。
curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/linux/ali-instance-cli
下载完成后,输入以下命令为ali-instance-cli赋予可执行权限。
chmod a+x ali-instance-cli
1.2 配置
在您的个人计算机使用ali-instance-cli连接阿里云实例时,需要配置相关身份凭证,即AccessKey,具体说明,请参见准备用于使用会话管理的RAM用户的凭证。
Windows
选择
,输入cmd,按Enter
键,打开命令提示符窗口。切换到ali-instance-cli.exe所在目录,本文以
C:\Users\test
为例。cd C:\Users\test
配置凭证。支持以下三种配置方式:
AccessKey
执行如下命令,并根据界面提示配置Access Key Id、Access Key Secret、Region Id。
ali-instance-cli.exe configure --mode AK
STS Token
执行以下命令完成配置操作:
ali-instance-cli.exe configure set --mode StsToken --region "<region>" --access-key-id "<ak>" --access-key-secret "<sk>" --sts-token "<sts_token>"
<region>
、<ak>
、<sk>
、<sts_token>
要修改为实际的Region ID、AccessKey ID、AccessKey Secret和STS Token
。CredentialsURI
执行如下命令,根据界面提示,输入Credentials URI和Region Id。
ali-instance-cli.exe configure --mode=CredentialsURI
配置完成后,显示如下内容证明配置完成。
macOS/Linux
进入ali-instance-cli所在目录,本文以当前用户根目录
~
为例。cd ~
配置凭证。
AccessKey
执行如下命令,并根据界面提示配置Access Key Id、Access Key Secret、Region Id。
./ali-instance-cli configure --mode AK
STS Token
执行以下命令完成配置操作:
./ali-instance-cli configure set --mode StsToken --region "<region>" --access-key-id "<ak>" --access-key-secret "<sk>" --sts-token "<sts_token>"
<region>
、<ak>
、<sk>
、<sts_token>
要修改为实际的Region ID、AccessKey ID、AccessKey Secret和STS Token
。CredentialsURI
执行如下命令,根据界面提示,配置Credentials URI和Region Id。
./ali-instance-cli configure --mode=CredentialsURI
配置完成后,显示如下内容证明配置完成。
2. 通过会话管理连接实例
2.1 获取待连接实例的ID
通过会话管理连接实例时,需要先获取到目标实例的实例ID。
控制台
|
阿里云CLI
如果您已经配置好了阿里云CLI,您可以通过以下命令获取实例ID。具体参数说明,请参见DescribeInstances - 查询实例的详细信息列表。
以查询杭州地域下名称为SessionManager-example
的实例为例。
aliyun ecs DescribeInstances --region cn-hangzhou --RegionId 'cn-hangzhou' --InstanceName 'SessionManager-example'
返回结果中InstanceId
即实例ID。
API
通过API查询实例ID,请参见DescribeInstances - 查询实例的详细信息列表。
2.2 使用ali-instance-cli的会话管理功能
本机为Windows
进入命令提示符,在ali-instance-cli.exe所在目录,输入命令远程连接实例。其中<instance_id>
为步骤2.1中获取的实例ID。
ali-instance-cli.exe session --instance <instance_id>
例如连接实例ID为i-bp1******
的实例时,可输入以下命令完成连接操作。
ali-instance-cli.exe session --instance i-bp1******
如图所示,连接成功后,会进入对应实例的命令行界面。
本机为macOS/Linux
在终端中,进入ali-instance-cli所在目录,输入命令远程连接实例。其中<instance_id>
为步骤2.1中获取的实例ID。
./ali-instance-cli session --instance <instance_id>
例如连接实例ID为i-bp1******
的实例时,可输入以下命令完成连接操作。
./ali-instance-cli.exe session --instance i-bp1******
如图所示,连接成功后,会进入对应实例的命令行界面。
更多功能
除了会话管理功能外,会话管理CLI(ali-instance-cli)还有以下功能:
您可以通过ali-instance-cli的端口转发功能,将实例的某个端口映射到您个人计算机的某个端口,支持无公网实例。由此功能,您可以实现免代理,免跳板机的访问无公网实例上的服务。
如果您使用SSH连接实例,您可以选择通过该功能向目标实例中注册临时公钥,此时,您可以通过与之对应的私钥连接实例。