阿里雲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執行個體。
下載並安裝PuTTYgen和PuTTY。
將.pem私密金鑰檔案轉換為.ppk私密金鑰檔案。
啟動PuTTYgen。
本樣本中的PuTTYgen版本為0.71。
選擇Type of key to generate為RSA,然後單擊Load。
選擇All Files(*.*)。
選擇待轉換的.pem私密金鑰檔案。
在彈出的對話方塊中,單擊確定。
單擊Save private key。
在彈出的對話方塊中,單擊是。
指定.ppk私密金鑰檔案的名稱,然後單擊儲存。
啟動PuTTY。
配置用於身分識別驗證的私密金鑰檔案。
選擇 。
在Private key file for authentication:地區,單擊Browse…。
選擇轉換好的.ppk私密金鑰檔案。
配置串連Linux執行個體所需的資訊。
單擊Session。
在Host Name (or IP address)中輸入登入帳號和執行個體公網IP地址。
格式為username@IP 位址,例如ecs-user@10.10.xx.xxx。
在Port中輸入連接埠號碼22。
選擇Connection type為SSH。
單擊Open。
當出現以下提示時,說明您已經成功地使用SSH金鑰組登入了執行個體。
在支援SSH命令的環境中使用金鑰組(通過命令配置資訊)
本節介紹如何在支援SSH命令的環境(例如Linux、Windows下的MobaXterm)中通過命令配置所需資訊,並通過SSH命令登入Linux執行個體。
找到.pem私密金鑰檔案在本地機上的儲存路徑,例如~/.ssh/ecs.pem。
此處路徑和檔案名稱僅為樣本,在後續命令中請根據實際情況修改。
運行以下命令修改私密金鑰檔案的屬性。
chmod 400 [.pem私密金鑰檔案在本地機上的儲存路徑]
樣本如下:
chmod 400 ~/.ssh/ecs.pem
運行以下命令串連至執行個體。
ssh -i [.pem私密金鑰檔案在本地機上的儲存路徑] username@[公網IP地址]
樣本如下:
ssh -i ~/.ssh/ecs.pem ecs-user@10.10.xx.xxx
在支援SSH命令的環境中使用金鑰組(通過config檔案配置資訊)
本節介紹如何在支援SSH命令的環境(例如Linux、Windows下的MobaXterm)中通過命令配置所需資訊,並通過SSH命令登入Linux執行個體。
找到.pem私密金鑰檔案在本地機上的儲存路徑,例如~/.ssh/ecs.pem。
此處路徑和檔案名稱僅為樣本,在後續命令中請根據實際情況修改。
運行以下命令修改私密金鑰檔案的屬性。
chmod 400 [.pem私密金鑰檔案在本地機上的儲存路徑]
樣本如下:
chmod 400 ~/.ssh/ecs.pem
運行以下命令,進入使用者主目錄下的.ssh目錄,並建立config檔案。
cd ~/.ssh vim config
在
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檔案。運行以下命令,重啟SSH服務。
警告若重啟SSH服務失敗,會存在SSH服務不可用風險,可能導致業務中斷,建議您在非業務高峰期時執行該操作。
service sshd restart
運行命令串連至執行個體。
ssh [ECS執行個體的別名]
樣本如下:
ssh ecs
相關文檔
如果您需要使用在Linux執行個體上自建的使用者通過SSH金鑰組登入執行個體,則您需要將~/.ssh/authorized_keys檔案拷貝到該使用者的.ssh目錄下,才能登入Linux執行個體。具體操作,請參見自建使用者通過SSH金鑰組登入Linux執行個體。
不支援在控制台為Windows執行個體綁定SSH金鑰組,如需通過密鑰認證登入Windows執行個體,您可以自行在執行個體內部開啟SSHD的遠程服務並配置密鑰。具體操作,請參見通過密碼或密鑰認證登入Windows執行個體。
如果您在綁定金鑰組後希望使用密碼方式登入執行個體,只需重設執行個體密碼即可。重設密碼後,您既可以使用金鑰組方式,也可以使用密碼方式登入執行個體。具體操作,請參見重設執行個體登入密碼。
如果您不想在本地使用SSH金鑰組登入Linux執行個體,則您可以在ECS控制台上通過Workbench來登入Linux執行個體。具體操作,請參見通過密碼或密鑰認證登入Linux執行個體。