本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
阿里云SSH密鑰對是一種安全便捷的登錄認證方式,用于在SSH協議中進行身份驗證和加密通信。由公鑰和私鑰組成,僅支持Linux實例,滿足您對更高安全性、便利性的業務需求。本文為您介紹如何在控制臺創建密鑰對、導入密鑰對、綁定密鑰對、解綁密鑰對、刪除密鑰對。
功能優勢
相較于用戶名和密碼認證方式,使用SSH密鑰對認證方式有以下優勢:
安全性:使用SSH密鑰對登錄認證更為安全可靠。
SSH密鑰對安全強度遠高于常規用戶口令,可以杜絕暴力破解威脅。
無法通過公鑰推導出私鑰。
便捷性:
如果您將公鑰配置在Linux實例中,那么,在本地或者另外一臺實例中,您可以無需輸入密碼,直接使用私鑰通過SSH命令或相關工具登錄目標實例。
支持遠程登錄大量Linux實例,更加方便地管理您的實例。如果您需要批量維護多臺Linux實例,推薦使用這種方式登錄。
使用限制
僅支持Linux系統的輕量應用服務器設置密鑰對登錄的方式。
一個阿里云賬號在一個地域下最多可以創建10個密鑰對。
控制臺僅支持創建RSA 2048位密鑰對。
創建或導入密鑰對
您可以通過控制臺創建密鑰對,或者導入已有密鑰對,便于您后期綁定輕量應用服務器實例,使用密鑰對登錄。
登錄輕量應用服務器管理控制臺。
在左側導航欄,單擊密鑰對。
在密鑰對頁面,單擊創建密鑰對。
在創建密鑰對對話框中,根據界面提示配置參數后,單擊確定。
自動創建密鑰對
參數說明如下表所示。
參數
說明
密鑰對名稱
輸入您自定義的密鑰名稱。名稱必須以大小寫字母或中文開頭,可包含數字、英文冒號(:)下劃線(_)、短劃線(-)等特殊符號,長度必須為2~64個字符。
創建類型
選中自動創建密鑰對。
重要系統將自動下載密鑰信息(文件后綴名為
.pem
)至本地主機,密鑰僅有這一次下載機會,請您妥善保管。如果未出現下載彈窗,請在瀏覽器的下載頁面查看是否有攔截。
導入已有密鑰對
如果您已有密鑰對,可以將已有密鑰對導入控制臺,便于使用已有密鑰對登錄輕量應用服務器。但已有密鑰對必須為支持的加密方式,具體說明請參見Q2:導入已有密鑰對支持哪些加密方式?。
參數說明如下表所示。
參數
說明
密鑰對名稱
輸入您自定義的密鑰名稱。名稱必須以大小寫字母或中文開頭,可包含數字、英文冒號(:)下劃線(_)、短劃線(-)等特殊符號,長度必須為2~64個字符。
創建類型
選中導入已有密鑰對。
公鑰內容
將已有密鑰對的公鑰拷貝到此處。具體格式可將鼠標懸浮在Base64查看樣例。獲取待導入密鑰對的公鑰信息的具體操作,請參見Q3:如何查看公鑰信息?。
在彈出的創建密鑰對對話框中,可以根據需求選擇是否立即綁定實例。
您也可以在創建密鑰對后,綁定密鑰對。具體操作,請參見綁定密鑰對。
綁定密鑰對
待綁定的輕量應用服務器為運行中或已停止狀態。
一臺輕量應用服務器只支持在控制臺綁定一個密鑰對。若您選擇的輕量應用服務器已經綁定過其他密鑰對,新綁定的密鑰對將會覆蓋已綁定的密鑰對。
為輕量應用服務器綁定密鑰對后,服務器會自動禁止使用
root
用戶及密碼登錄。如果您需要重新啟用密碼登錄方式,需要修改服務器內的配置文件。具體操作,請參見重新啟用密碼登錄方式。如果您需要使用多個密鑰對登錄實例,則可以在實例內部手動修改~/.ssh/authorized_keys文件,添加多個密鑰對。具體操作,請參見Q1:如何使用多個密鑰對登錄輕量應用服務器實例?。
登錄輕量應用服務器管理控制臺。
在左側導航欄,單擊密鑰對。
在密鑰對頁面,在目標密鑰對的操作列,單擊綁定實例。
在彈出的綁定實例對話框中,選擇一臺或多臺Linux輕量應用服務器,然后單擊圖標。
單擊確定。
在彈出的綁定實例對話框中,根據業務需求選擇是否立即重啟服務器。
立即重啟服務器:單擊立即重啟實例,重啟服務器后密鑰對生效。
警告重啟實例會造成您的實例停止工作,可能導致業務中斷,建議您在非業務高峰期時執行該操作。
稍后自行重啟服務器:單擊暫不重啟,然后在您的業務低峰時間段自行重啟服務器,以使密鑰對生效。
密鑰對生效后,您可以通過密鑰對登錄輕量應用服務器實例。具體操作,請參見通過密鑰對遠程連接Linux服務器。
解綁密鑰對
如果您需要更換密鑰對或者某個用戶不再需要訪問特定實例,您可以解綁SSH密鑰對,以提高實例的安全性或限制訪問權限。
為輕量應用服務器創建密鑰且重啟服務器使密鑰生效后,服務器會自動禁止使用root
用戶及密碼登錄。如果您需要重新啟用密碼登錄方式,需要修改服務器內的配置文件。具體操作,請參見重新啟用密碼登錄方式。
登錄輕量應用服務器管理控制臺。
在左側導航欄,單擊密鑰對。
在密鑰對頁面,在目標密鑰對的操作列,單擊解綁實例。
在彈出的解綁實例對話框中,選擇一臺或多臺Linux輕量應用服務器,然后單擊圖標。
單擊確定。
在彈出的解綁實例對話框中,根據業務需求選擇是否立即重啟服務器。
立即重啟服務器:單擊重啟已解綁實例,重啟服務器后密鑰對解綁生效。
警告重啟實例會造成您的實例停止工作,可能導致業務中斷,建議您在非業務高峰期時執行該操作。
稍后自行重啟服務器:單擊暫不重啟,然后在您的業務低峰時間段自行重啟服務器,使密鑰對解綁生效。
刪除密鑰對
如果密鑰對不再使用,您需要先解綁密鑰對,然后再刪除。
登錄輕量應用服務器管理控制臺。
在左側導航欄,單擊密鑰對。
在密鑰對頁面,在目標密鑰對的操作列,單擊刪除。
在彈出的刪除密鑰對對話框中,單擊確定。
常見問題
A1:如果您需要使用多個密鑰對登錄實例,則可以在實例內部手動修改~/.ssh/authorized_keys文件,添加多個密鑰對。具體操作如下:
使用已有的SSH密鑰對連接Linux實例。具體操作,請參見通過密鑰對遠程連接Linux服務器。
運行以下命令,編輯
.ssh/authorized_keys
文件。sudo vim .ssh/authorized_keys
按
i
鍵進入編輯模式,添加或替換公鑰信息。添加公鑰信息:在現有的公鑰信息下方添加新的公鑰信息,并保存。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCys3aOkFm1Xh8iN0lijeQF5mz9Iw/FV/bUUduZjauiJa1KQJSF4+czKtqMAv38QEspiWStkSfpTn1g9qeUhfxxxxxxxxxx+XjPsf22fRem+v7MHMa7KnZWiHJxO62D4Ihvv2hKfskz8K44xxxxxxxxxx+u17IaL2l2ri8q9YdvVHt0Mw5TpCkERWGoBPE1Y8vxFb97TaE5+zc+2+eff6xxxxxxxxxx/feMeCxpx6Lhc2NEpHIPxMpjOv1IytKiDfWcezA2xxxxxxxxxx/YudCmJ8HTCnLId5LpirbNE4X08Bk7tXZAxxxxxxxxxx/FKB1Cxw1TbGMTfWxxxxxxxxxx imported-openssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDdlrdZwV3+GF9q7rhc6vYrExwT4WU4fsaRcVXGV2Mg9RHex21hl1au77GkmnIgukBZjywlQOT4GDdsJy2nBOdJPrCEBIPxxxxxxxxxxx/fctNuKjcmMMOA8YUT+sJKn3l7rCLkesE+S5880yNdRjBiiUy40kyr7Y+fqGVdSOHGMXZQPpkBtojcxxxxxxxxxx/htEqGa/Jq4fH7bR6CYQ2XgH/hCap29Mdi/G5Tx1nbUKuIHdMWOPvjxxxxxxxxxx+lHtTGiAIRG1riyNRVC47ZEVCg9iTWWGrWFvxxxxxxxxxx/9H9mPCO1Xt2fxxxxxxxxBtmR imported-openssh-key
說明如果公鑰文件中有多個公鑰信息,則使用其對應的多個私鑰均能登錄Linux實例。
替換公鑰信息:刪除現有的公鑰信息,替換為新的公鑰信息,并保存。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDdlrdZwV3+GF9q7rhc6vYrExwT4WU4fsaRcVXGV2Mg9RHex21hl1au77GkmnIgukBZjywlQOT4GDdsJy2nBOdJPrCEBIP6t0Mk5aPkK/fctNuKjcmMMOA8YUT+sJKn3l7rCLkesE+S5880yNdRjBiiUy40kyr7Y+fqGVdSOHGMXZQPpkBtojcV14uAy0yV6/htEqGa/Jq4fH7bR6CYQ2XgH/hCap29Mdi/G5Tx1nbUKuIHdMWOPvjGACGcXclex+lHtTGiAIRG1riyNRVC47ZEVCg9iTWWGrWFvVlnI0E3Deb/9H9mPCO1Xt2fxxxxxxxxBtmR imported-openssh-key
添加或替換公鑰信息完成后,按Esc鍵退出編輯模式,輸入
:wq
保存退出。使用新的SSH密鑰對連接Linux實例。具體操作,請參見通過密鑰認證登錄Linux實例。
如果能夠使用新的私鑰登錄Linux實例,則表示添加或替換密鑰對成功。
A2:導入的密鑰對必須支持以下任意一種加密方式:
rsa
dsa
ssh-rsa
ssh-dss
ecdsa
ssh-rsa-cert-v00@openssh.com
ssh-dss-cert-v00@openssh.com
ssh-rsa-cert-v01@openssh.com
ssh-dss-cert-v01@openssh.com
ecdsa-sha2-nistp256-cert-v01@openssh.com
ecdsa-sha2-nistp384-cert-v01@openssh.com
ecdsa-sha2-nistp521-cert-v01@openssh.com
A3:查看公鑰信息的具體操作如下:
本地為Windows操作系統
完成以下操作,查看公鑰信息:
啟動PuTTYgen。
單擊Load。
選擇
.ppk
或.pem
文件。PuTTYgen會顯示公鑰信息。
本地為Linux或Mac系統
運行ssh-keygen
命令,并指定.pem
文件的路徑。
ssh-keygen -y -f /path_to_key_pair/my-key-pair.pem
返回公鑰信息,類似如下所示:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABA****+GF9q7rhc6vYrExwT4WU4fsaRcVXGV2Mg9RHex21hl1au77GkmnIgukBZjywlQOT4GDdsJy2nBOdJPrCEBIPxxxxxxxxxx/fctNuKjcmMMOA8YUT+sJKn3l7rCLkesE+S5880yNdRjBiiUy40kyr7Y+fqGVdSOHGMXZQPpkBtojcxxxxxxxxxxx/htEqGa/Jq4fH7bR6CYQ2XgH/hCap29Mdi/G5Tx1nbUKuIHdMWOPvjxxxxxxxxxx+lHtTGiAIRG1riyNRVC47ZEVCxxxxxx
在實例內部查看公鑰信息
遠程連接Linux實例。具體操作,請參見通過密鑰對遠程連接Linux服務器。
執行以下命令,查看SSH密鑰對的公鑰信息。
sudo cat ~/.ssh/authorized_keys
說明公鑰內容放在
~/.ssh/authorized_keys
文件內。在實例內打開該文件,會返回公鑰信息。
相關操作
您可以通過API的方式管理密鑰對: