全部產品
Search
文件中心

Elastic Compute Service:使用第三方用戶端通過密鑰認證登入Linux執行個體

更新時間:Jun 19, 2024

阿里雲SSH金鑰組是一種安全便捷的登入認證方式,用於在SSH協議中進行身分識別驗證和加密通訊。由公開金鑰和私密金鑰組成且僅支援Linux執行個體,滿足您對更高安全性、便利性和自動化能力的業務需求。您可以直接在Windows環境和支援SSH命令的環境(例如Linux環境、Windows下的MobaXterm)中使用SSH金鑰組串連Linux執行個體。

前提條件

  • 已建立金鑰組並下載.pem私密金鑰檔案。具體操作,請參見建立SSH金鑰組

  • 執行個體處於運行中狀態。

  • 已為執行個體綁定金鑰組,具體操作,請參見綁定SSH金鑰組

  • 建立執行個體時分配了固定公網IP或為執行個體綁定了EIP,具體操作,請參見綁定ECS執行個體

  • 已為執行個體所在的安全性群組添加安全性群組規則,並允許存取對相應連接埠(例如SSH協議預設的22連接埠)的訪問。具體操作,請參見添加安全性群組規則

    網路類型

    規則方向

    授權策略

    連接埠範圍

    優先順序

    授權對象

    Virtual Private Cloud

    入方向

    允許

    SSH(22)

    1

    本地用戶端公網IP地址(非ECS執行個體公網IP)。

    重要

    您也可以添加0.0.0.0/0,但存在安全風險,請謹慎使用。

    傳統網路

    公網入方向

串連Linux執行個體

根據本地裝置不同的環境,您可以通過不同的方式使用密鑰遠端連線Linux執行個體。

在Windows環境中使用金鑰組

本節以PuTTYgen為例介紹如何將私密金鑰檔案格式從.pem轉換為.ppk,並以PuTTY為例介紹如何使用金鑰組串連Linux執行個體。

  1. 下載並安裝PuTTYgen和PuTTY。

    下載連結如下:

  2. .pem私密金鑰檔案轉換為.ppk私密金鑰檔案。

    1. 啟動PuTTYgen。

      本樣本中的PuTTYgen版本為0.71。

    2. 選擇Type of key to generateRSA,然後單擊Load

      windows_puttygen_1

    3. 選擇All Files(*.*)

      windows_puttygen_2

    4. 選擇待轉換的.pem私密金鑰檔案。

    5. 在彈出的對話方塊中,單擊確定

    6. 單擊Save private key

    7. 在彈出的對話方塊中,單擊

    8. 指定.ppk私密金鑰檔案的名稱,然後單擊儲存

  3. 啟動PuTTY。

  4. 配置用於身分識別驗證的私密金鑰檔案。

    1. 選擇Connection > SSH > Auth > Credentials

    2. Private key file for authentication:地區,單擊Browse…

    3. 選擇轉換好的.ppk私密金鑰檔案。

    windows_putty_3

  5. 配置串連Linux執行個體所需的資訊。

    1. 單擊Session

    2. Host Name (or IP address)中輸入登入帳號和執行個體公網IP地址。

      格式為username@IP 位址,例如ecs-user@10.10.xx.xxx。

    3. Port中輸入連接埠號碼22

    4. 選擇Connection typeSSH

    windows_putty_4

  6. 單擊Open

    當出現以下提示時,說明您已經成功地使用SSH金鑰組登入了執行個體。windows_putty_5

在支援SSH命令的環境中使用金鑰組(通過命令配置資訊)

本節介紹如何在支援SSH命令的環境(例如Linux、Windows下的MobaXterm)中通過命令配置所需資訊,並通過SSH命令登入Linux執行個體。

  1. 找到.pem私密金鑰檔案在本地機上的儲存路徑,例如~/.ssh/ecs.pem

    此處路徑和檔案名稱僅為樣本,在後續命令中請根據實際情況修改。

  2. 運行以下命令修改私密金鑰檔案的屬性。

    chmod 400 [.pem私密金鑰檔案在本地機上的儲存路徑]

    樣本如下:

    chmod 400 ~/.ssh/ecs.pem
  3. 運行以下命令串連至執行個體。

    ssh -i [.pem私密金鑰檔案在本地機上的儲存路徑] username@[公網IP地址]

    樣本如下:

    ssh -i ~/.ssh/ecs.pem ecs-user@10.10.xx.xxx

在支援SSH命令的環境中使用金鑰組(通過config檔案配置資訊)

本節介紹如何在支援SSH命令的環境(例如Linux、Windows下的MobaXterm)中通過命令配置所需資訊,並通過SSH命令登入Linux執行個體。

  1. 找到.pem私密金鑰檔案在本地機上的儲存路徑,例如~/.ssh/ecs.pem

    此處路徑和檔案名稱僅為樣本,在後續命令中請根據實際情況修改。

  2. 運行以下命令修改私密金鑰檔案的屬性。

    chmod 400 [.pem私密金鑰檔案在本地機上的儲存路徑]

    樣本如下:

    chmod 400 ~/.ssh/ecs.pem
  3. 運行以下命令,進入使用者主目錄下的.ssh目錄,並建立config檔案。

    cd ~/.ssh
    vim config
  4. config設定檔內,按i進入編輯模式,添加如下配置項。

    配置一台ECS執行個體的樣本內容如下:

    # 輸入ECS執行個體的別名,使用者SSH遠端連線。
    Host ecs
    # 輸入ECS執行個體的公網IP地址。
    HostName 121.196.**.**
    # 輸入連接埠號碼,預設為22。
    Port 22
    # 輸入登入帳號。
    User ecs-user
    # 輸入.pem私密金鑰檔案在原生地址。
    IdentityFile ~/.ssh/ecs.pem

    配置兩台ECS執行個體的樣本內容如下:

    # 輸入ECS執行個體的別名,使用者SSH遠端連線。
    Host ecs1
    # 輸入ECS執行個體的公網IP地址。
    HostName 121.196.**.**
    # 輸入連接埠號碼,預設為22。
    Port 22
    # 輸入登入帳號。
    User ecs-user
    # 輸入.pem私密金鑰檔案在原生地址。
    IdentityFile ~/.ssh/ecs.pem
    
    # 輸入ECS執行個體的別名,使用者SSH遠端連線。
    Host ecs2
    # 輸入ECS執行個體的公網IP地址。
    HostName 121.196.**.**
    # 輸入連接埠號碼,預設為22。
    Port 22
    # 輸入登入帳號。
    User ecs-user
    # 輸入.pem私密金鑰檔案在原生地址。
    IdentityFile ~/.ssh/ecs.pem

    添加完成後,按Esc鍵,並輸入:wq儲存config檔案。

  5. 運行以下命令,重啟SSH服務。

    警告

    若重啟SSH服務失敗,會存在SSH服務不可用風險,可能導致業務中斷,建議您在非業務高峰期時執行該操作。

    service sshd restart
  6. 運行命令串連至執行個體。

    ssh [ECS執行個體的別名]

    樣本如下:

    ssh ecs

相關文檔

  • 如果您需要使用在Linux執行個體上自建的使用者通過SSH金鑰組登入執行個體,則您需要將~/.ssh/authorized_keys檔案拷貝到該使用者的.ssh目錄下,才能登入Linux執行個體。具體操作,請參見自建使用者通過SSH金鑰組登入Linux執行個體

  • 不支援在控制台為Windows執行個體綁定SSH金鑰組,如需通過密鑰認證登入Windows執行個體,您可以自行在執行個體內部開啟SSHD的遠程服務並配置密鑰。具體操作,請參見通過密碼或密鑰認證登入Windows執行個體

  • 如果您在綁定金鑰組後希望使用密碼方式登入執行個體,只需重設執行個體密碼即可。重設密碼後,您既可以使用金鑰組方式,也可以使用密碼方式登入執行個體。具體操作,請參見重設執行個體登入密碼

  • 如果您不想在本地使用SSH金鑰組登入Linux執行個體,則您可以在ECS控制台上通過Workbench來登入Linux執行個體。具體操作,請參見通過密碼或密鑰認證登入Linux執行個體