全部產品
Search
文件中心

Elastic Compute Service:通過ali-instance-cli使用會話管理進行SSH串連

更新時間:Jun 19, 2024

會話管理(Session Manager)是雲助手提供的功能,用於便捷安全地遠端連線ECS執行個體。本文介紹如何通過會話管理進行SSH(Secure Shell)串連。

前提條件

  • 需要串連的目標執行個體中已安裝雲助手Agent,並且Windows用戶端版本大於等於2.1.3.256、Linux用戶端版本大於等於2.2.3.256。具體操作,請參見安裝雲助手Agent

  • 已開啟會話管理功能,具體操作,請參見通過會話管理串連執行個體

背景資訊

使用會話管理CLI轉寄SSH方式遠端連線目標ECS執行個體時,無需暴露執行個體公網IP與連接埠,只需擷取阿里雲ECS執行個體ID與密碼,即可通過會話管理用戶端串連目標執行個體。相比SSH、VNC等方式,可以更便捷地遠端連線ECS執行個體,且兼具安全性。關於會話管理的更多資訊,請參見會話管理概述

Linux、macOS作業系統

說明

本文操作以test使用者為例,具體操作以您實際操作的使用者和使用者目錄為準。

  1. 登入工作階段管理用戶端。

  2. 在會話管理用戶端安裝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
  3. 建立config檔案並添加相關配置。

    1. 在目前使用者目錄下建立.ssh目錄,本文以/home/test為例。

      mkdir .ssh
    2. 切換到.ssh目錄下。

      cd .ssh
    3. 建立並開啟config檔案。

      vim config
    4. i進入編輯模式。

    5. config檔案中添加如下內容。

      說明

      ali-instance-cli需要替換成檔案的絕對路徑,例如/home/test/ali-instance-cli

      host i-*
          ProxyCommand sh -c "ali-instance-cli ssh -i '%h' --port  '%p'" 
    6. Esc鍵,退出編輯模式。

    7. 輸入:wq,並按Enter鍵,儲存並退出。

    8. config檔案添加執行許可權。

      chmod 755 config
  4. 配置AccessKey、STS Token或CredentialsURI。

    關於如何擷取AccessKey或STS Token,請參見建立AccessKey什麼是STS

    1. 切換到test目錄。

      cd /home/test
    2. 配置鑒權認證方式。

      支援以下三種配置方式:

      • AccessKey配置方式

        執行如下命令,根據介面提示,輸入AccessKey ID、AccessKey Secret、RegionID。

        ./ali-instance-cli configure --mode AK
      • STS Token配置方式

        說明

        regionaksktoken要修改為實際的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

      當回顯出現如圖所示內容時,說明鑒權方式已配置完成。鑒權成功.png

  5. 運行SSH命令串連目標執行個體。

    支援以下兩種方式串連目標執行個體:

    說明

    useraliyun instance id要修改為實際的使用者名稱和執行個體ID。

    • 密碼方式

      ssh user@aliyun instance id
    • 密鑰方式

      ssh -i key.pem user@aliyun instance id

    當回顯如下圖所示時,說明已經通過Session Manager轉寄SSH方式串連到目標執行個體。串連執行個體

Windows作業系統

使用會話管理用戶端的Windows作業系統已安裝OpenSSH。具體操作,請參見使用雲助手在Windows執行個體中安裝OpenSSH程式

說明

本文操作以test使用者為例,具體操作以您實際操作的使用者和使用者目錄為準。

  1. 登入工作階段管理用戶端。

    具體操作,請參見串連方式概述

  2. 在會話管理用戶端下載ali-instance-cli。

    下載Windows版ali-instance-cli並儲存到本地檔案夾中,如C:\Users\test

  3. 建立config檔案並添加相關配置。

    1. C:\Users\username下建立.ssh檔案夾。

      說明

      C:\Users\username需替換成實際的檔案夾,如C:\Users\test

      1. 在案頭左下角單擊win2016 搜尋.png表徵圖,然後在搜尋方塊輸入Windows PowerShell

      2. 單擊Windows PowerShell

      3. C:\Users\username下,執行mkdir .ssh命令,建立.ssh檔案夾。

    2. .ssh檔案夾下建立config檔案。

      重要

      config檔案名稱中不能含有副檔名。

    3. config檔案中添加如下內容。

      ali-instance-cli.exe需要替換成檔案的絕對路徑,例如C:\Users\test\ali-instance-cli.exe

      host i-*
          ProxyCommand C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "ali-instance-cli.exe ssh -i '%h' --port  '%p'"
  4. 配置AccessKey或STS Token。

    關於如何擷取AccessKey或STS Token,請參見建立AccessKey什麼是STS

    1. 選擇開始 > 運行,輸入cmd,按Enter鍵,開啟命令提示字元視窗。

    2. 切換到test目錄。

      cd C:\Users\test
    3. 配置鑒權認證方式。

      支援以下三種配置方式:

      • AccessKey配置方式

        執行如下命令,根據介面提示,輸入AccessKey ID、AccessKey Secret、RegionID。

        ali-instance-cli.exe configure --mode AK
      • STS Token配置方式

        說明

        regionaksktoken要修改為實際的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

      當回顯出現如圖所示內容時,說明鑒權方式已配置完成。

      windows AK.png

  5. 運行SSH命令串連目標執行個體。

    支援以下兩種方式串連目標執行個體:

    說明

    useraliyun instance id要修改為實際的使用者名稱和執行個體ID。

    • 密碼方式

      ssh user@aliyun instance id
    • 密鑰方式

      ssh -i key.pem user@aliyun instance id

    當回顯如下圖所示時,說明已經通過Session Manager轉寄SSH方式串連到目標執行個體。

    連結執行個體

常見問題

當使用會話管理用戶端出現問題時,您可以通過查看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。請通過控制台開啟會話管理功能,具體操作,請參見通過會話管理串連執行個體