如果您需要實現免密碼、免公網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的完整代碼,將這段代碼移植到您自己的公司專屬應用程式中,即可實現免密碼、免公網遠程登入功能的會話管理。
相關文檔
會話管理支援多種方式串連執行個體,您可以根據業務需要,選擇合適的串連方式。