首页 > 解决方案 > 如何恢复与 aws cli 的会话?

问题描述

我已经使用 command 开始了一个会话 aws ssm start-session --target <instance id> --region <my region>,当我这样做时,我得到Starting session with SessionId <sessionid>并登录到了 ec2 实例。然后我离开了我的电脑,连接超时。现在我想回到那个会话。

我尝试了 aws ssm resume-session --session-id <sessionid from above> --region <my region>返回类似 { "SessionId": "<sessionid from above>", "TokenValue": "", "StreamUrl": "<url here>" } . 但我如何真正再次连接?这让我在我的本地计算机上,而start session命令让我在 aws 实例上。如果我再次尝试 start-session 命令,我会得到一个全新的会话。我觉得我错过了一些明显的东西!

标签: amazon-web-servicesamazon-ec2aws-cliaws-session-manager

解决方案


正如 aws cli 文档所述,您需要确保已配置以下内容:

请注意,此交互式命令需要在进行调用的客户端计算机上安装 Session Manager 插件。

有关更多信息,请参阅 AWS Systems Manager 用户指南中的为 AWS CLI 安装会话管理器插件:https ://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-安装-plugin.html

另请注意以下事项:

ResumeSession,在断开连接后将会话重新连接到实例。可以为断开的会话恢复连接,但不能为终止的会话恢复连接。此命令主要用于客户端计算机在间歇性网络问题期间自动重新连接。它不用于任何其他用途

您可以使用 AWS Systems Manager 控制台或 AWS 命令​​行界面 (AWS CLI) 来结束您开始连接到您账户中的实例的会话。如果 20 分钟后没有用户活动,则会话结束。会话结束后,将无法恢复。

无论如何,我已经开始了会话,并且超时/断开恢复会话命令将为您提供一个新实例,您可以根据文档立即使用该实例:

此 resume-session 示例在实例断开连接后恢复与实例的会话管理器会话。


推荐阅读