管理密鑰對(duì)(Linux)
本文中含有需要您注意的重要提示信息,忽略該信息可能對(duì)您的業(yè)務(wù)造成影響,請(qǐng)務(wù)必仔細(xì)閱讀。
阿里云SSH密鑰對(duì)是一種安全便捷的登錄認(rèn)證方式,用于在SSH協(xié)議中進(jìn)行身份驗(yàn)證和加密通信。由公鑰和私鑰組成,僅支持Linux實(shí)例,滿足您對(duì)更高安全性、便利性的業(yè)務(wù)需求。本文為您介紹如何在控制臺(tái)創(chuàng)建密鑰對(duì)、導(dǎo)入密鑰對(duì)、綁定密鑰對(duì)、解綁密鑰對(duì)、刪除密鑰對(duì)。
功能優(yōu)勢(shì)
相較于用戶名和密碼認(rèn)證方式,使用SSH密鑰對(duì)認(rèn)證方式有以下優(yōu)勢(shì):
安全性:使用SSH密鑰對(duì)登錄認(rèn)證更為安全可靠。
SSH密鑰對(duì)安全強(qiáng)度遠(yuǎn)高于常規(guī)用戶口令,可以杜絕暴力破解威脅。
無(wú)法通過(guò)公鑰推導(dǎo)出私鑰。
便捷性:
如果您將公鑰配置在Linux實(shí)例中,那么,在本地或者另外一臺(tái)實(shí)例中,您可以無(wú)需輸入密碼,直接使用私鑰通過(guò)SSH命令或相關(guān)工具登錄目標(biāo)實(shí)例。
支持遠(yuǎn)程登錄大量Linux實(shí)例,更加方便地管理您的實(shí)例。如果您需要批量維護(hù)多臺(tái)Linux實(shí)例,推薦使用這種方式登錄。
使用限制
僅支持Linux系統(tǒng)的輕量應(yīng)用服務(wù)器設(shè)置密鑰對(duì)登錄的方式。
一個(gè)阿里云賬號(hào)在一個(gè)地域下最多可以創(chuàng)建10個(gè)密鑰對(duì)。
控制臺(tái)僅支持創(chuàng)建RSA 2048位密鑰對(duì)。
創(chuàng)建或?qū)朊荑€對(duì)
您可以通過(guò)控制臺(tái)創(chuàng)建密鑰對(duì),或者導(dǎo)入已有密鑰對(duì),便于您后期綁定輕量應(yīng)用服務(wù)器實(shí)例,使用密鑰對(duì)登錄。
在左側(cè)導(dǎo)航欄,單擊密鑰對(duì)。
在密鑰對(duì)頁(yè)面,單擊創(chuàng)建密鑰對(duì)。
在創(chuàng)建密鑰對(duì)對(duì)話框中,根據(jù)界面提示配置參數(shù)后,單擊確定。
自動(dòng)創(chuàng)建密鑰對(duì)
參數(shù)說(shuō)明如下表所示。
參數(shù)
說(shuō)明
密鑰對(duì)名稱
輸入您自定義的密鑰名稱。名稱必須以大小寫(xiě)字母或中文開(kāi)頭,可包含數(shù)字、英文冒號(hào)(:)下劃線(_)、短劃線(-)等特殊符號(hào),長(zhǎng)度必須為2~64個(gè)字符。
創(chuàng)建類型
選中自動(dòng)創(chuàng)建密鑰對(duì)。
重要系統(tǒng)將自動(dòng)下載密鑰信息(文件后綴名為
.pem
)至本地主機(jī),密鑰僅有這一次下載機(jī)會(huì),請(qǐng)您妥善保管。如果未出現(xiàn)下載彈窗,請(qǐng)?jiān)跒g覽器的下載頁(yè)面查看是否有攔截。
導(dǎo)入已有密鑰對(duì)
如果您已有密鑰對(duì),可以將已有密鑰對(duì)導(dǎo)入控制臺(tái),便于使用已有密鑰對(duì)登錄輕量應(yīng)用服務(wù)器。但已有密鑰對(duì)必須為支持的加密方式,具體說(shuō)明請(qǐng)參見(jiàn)Q2:導(dǎo)入已有密鑰對(duì)支持哪些加密方式?。
參數(shù)說(shuō)明如下表所示。
參數(shù)
說(shuō)明
密鑰對(duì)名稱
輸入您自定義的密鑰名稱。名稱必須以大小寫(xiě)字母或中文開(kāi)頭,可包含數(shù)字、英文冒號(hào)(:)下劃線(_)、短劃線(-)等特殊符號(hào),長(zhǎng)度必須為2~64個(gè)字符。
創(chuàng)建類型
選中導(dǎo)入已有密鑰對(duì)。
公鑰內(nèi)容
將已有密鑰對(duì)的公鑰拷貝到此處。具體格式可將鼠標(biāo)懸浮在Base64查看樣例。獲取待導(dǎo)入密鑰對(duì)的公鑰信息的具體操作,請(qǐng)參見(jiàn)Q3:如何查看公鑰信息?。
在彈出的創(chuàng)建密鑰對(duì)對(duì)話框中,可以根據(jù)需求選擇是否立即綁定實(shí)例。
您也可以在創(chuàng)建密鑰對(duì)后,綁定密鑰對(duì)。具體操作,請(qǐng)參見(jiàn)綁定密鑰對(duì)。
綁定密鑰對(duì)
待綁定的輕量應(yīng)用服務(wù)器為運(yùn)行中或已停止狀態(tài)。
一臺(tái)輕量應(yīng)用服務(wù)器只支持在控制臺(tái)綁定一個(gè)密鑰對(duì)。若您選擇的輕量應(yīng)用服務(wù)器已經(jīng)綁定過(guò)其他密鑰對(duì),新綁定的密鑰對(duì)將會(huì)覆蓋已綁定的密鑰對(duì)。
為輕量應(yīng)用服務(wù)器綁定密鑰對(duì)后,服務(wù)器會(huì)自動(dòng)禁止使用
root
用戶及密碼登錄。如果您需要重新啟用密碼登錄方式,需要修改服務(wù)器內(nèi)的配置文件。具體操作,請(qǐng)參見(jiàn)重新啟用密碼登錄方式。如果您需要使用多個(gè)密鑰對(duì)登錄實(shí)例,則可以在實(shí)例內(nèi)部手動(dòng)修改~/.ssh/authorized_keys文件,添加多個(gè)密鑰對(duì)。具體操作,請(qǐng)參見(jiàn)Q1:如何使用多個(gè)密鑰對(duì)登錄輕量應(yīng)用服務(wù)器實(shí)例?。
在左側(cè)導(dǎo)航欄,單擊密鑰對(duì)。
在密鑰對(duì)頁(yè)面,在目標(biāo)密鑰對(duì)的操作列,單擊綁定實(shí)例。
在彈出的綁定實(shí)例對(duì)話框中,選擇一臺(tái)或多臺(tái)Linux輕量應(yīng)用服務(wù)器,然后單擊圖標(biāo)。
單擊確定。
在彈出的綁定實(shí)例對(duì)話框中,根據(jù)業(yè)務(wù)需求選擇是否立即重啟服務(wù)器。
立即重啟服務(wù)器:?jiǎn)螕?b data-tag="uicontrol" id="uicontrol-90s-m0x-ewn" class="uicontrol">立即重啟實(shí)例,重啟服務(wù)器后密鑰對(duì)生效。
警告重啟實(shí)例會(huì)造成您的實(shí)例停止工作,可能導(dǎo)致業(yè)務(wù)中斷,建議您在非業(yè)務(wù)高峰期時(shí)執(zhí)行該操作。
稍后自行重啟服務(wù)器:?jiǎn)螕?b data-tag="uicontrol" id="uicontrol-43n-rjb-lpk" class="uicontrol">暫不重啟,然后在您的業(yè)務(wù)低峰時(shí)間段自行重啟服務(wù)器,以使密鑰對(duì)生效。
密鑰對(duì)生效后,您可以通過(guò)密鑰對(duì)登錄輕量應(yīng)用服務(wù)器實(shí)例。具體操作,請(qǐng)參見(jiàn)通過(guò)密鑰對(duì)遠(yuǎn)程連接Linux服務(wù)器。
解綁密鑰對(duì)
如果您需要更換密鑰對(duì)或者某個(gè)用戶不再需要訪問(wèn)特定實(shí)例,您可以解綁SSH密鑰對(duì),以提高實(shí)例的安全性或限制訪問(wèn)權(quán)限。
為輕量應(yīng)用服務(wù)器創(chuàng)建密鑰且重啟服務(wù)器使密鑰生效后,服務(wù)器會(huì)自動(dòng)禁止使用root
用戶及密碼登錄。如果您需要重新啟用密碼登錄方式,需要修改服務(wù)器內(nèi)的配置文件。具體操作,請(qǐng)參見(jiàn)重新啟用密碼登錄方式。
在左側(cè)導(dǎo)航欄,單擊密鑰對(duì)。
在密鑰對(duì)頁(yè)面,在目標(biāo)密鑰對(duì)的操作列,單擊解綁實(shí)例。
在彈出的解綁實(shí)例對(duì)話框中,選擇一臺(tái)或多臺(tái)Linux輕量應(yīng)用服務(wù)器,然后單擊圖標(biāo)。
單擊確定。
在彈出的解綁實(shí)例對(duì)話框中,根據(jù)業(yè)務(wù)需求選擇是否立即重啟服務(wù)器。
立即重啟服務(wù)器:?jiǎn)螕?b data-tag="uicontrol" id="09a191130dd6t" class="uicontrol">重啟已解綁實(shí)例,重啟服務(wù)器后密鑰對(duì)解綁生效。
警告重啟實(shí)例會(huì)造成您的實(shí)例停止工作,可能導(dǎo)致業(yè)務(wù)中斷,建議您在非業(yè)務(wù)高峰期時(shí)執(zhí)行該操作。
稍后自行重啟服務(wù)器:?jiǎn)螕?b data-tag="uicontrol" id="05faa49c79a43" class="uicontrol">暫不重啟,然后在您的業(yè)務(wù)低峰時(shí)間段自行重啟服務(wù)器,使密鑰對(duì)解綁生效。
刪除密鑰對(duì)
如果密鑰對(duì)不再使用,您需要先解綁密鑰對(duì),然后再刪除。
在左側(cè)導(dǎo)航欄,單擊密鑰對(duì)。
在密鑰對(duì)頁(yè)面,在目標(biāo)密鑰對(duì)的操作列,單擊刪除。
在彈出的刪除密鑰對(duì)對(duì)話框中,單擊確定。
常見(jiàn)問(wèn)題
A1:如果您需要使用多個(gè)密鑰對(duì)登錄實(shí)例,則可以在實(shí)例內(nèi)部手動(dòng)修改~/.ssh/authorized_keys文件,添加多個(gè)密鑰對(duì)。具體操作如下:
使用已有的SSH密鑰對(duì)連接Linux實(shí)例。具體操作,請(qǐng)參見(jiàn)通過(guò)密鑰對(duì)遠(yuǎn)程連接Linux服務(wù)器。
運(yùn)行以下命令,編輯
.ssh/authorized_keys
文件。sudo vim .ssh/authorized_keys
按
i
鍵進(jìn)入編輯模式,添加或替換公鑰信息。添加公鑰信息:在現(xiàn)有的公鑰信息下方添加新的公鑰信息,并保存。
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
說(shuō)明如果公鑰文件中有多個(gè)公鑰信息,則使用其對(duì)應(yīng)的多個(gè)私鑰均能登錄Linux實(shí)例。
替換公鑰信息:刪除現(xiàn)有的公鑰信息,替換為新的公鑰信息,并保存。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDdlrdZwV3+GF9q7rhc6vYrExwT4WU4fsaRcVXGV2Mg9RHex21hl1au77GkmnIgukBZjywlQOT4GDdsJy2nBOdJPrCEBIP6t0Mk5aPkK/fctNuKjcmMMOA8YUT+sJKn3l7rCLkesE+S5880yNdRjBiiUy40kyr7Y+fqGVdSOHGMXZQPpkBtojcV14uAy0yV6/htEqGa/Jq4fH7bR6CYQ2XgH/hCap29Mdi/G5Tx1nbUKuIHdMWOPvjGACGcXclex+lHtTGiAIRG1riyNRVC47ZEVCg9iTWWGrWFvVlnI0E3Deb/9H9mPCO1Xt2fxxxxxxxxBtmR imported-openssh-key
添加或替換公鑰信息完成后,按Esc鍵退出編輯模式,輸入
:wq
保存退出。使用新的SSH密鑰對(duì)連接Linux實(shí)例。具體操作,請(qǐng)參見(jiàn)通過(guò)密鑰認(rèn)證登錄Linux實(shí)例。
如果能夠使用新的私鑰登錄Linux實(shí)例,則表示添加或替換密鑰對(duì)成功。
A2:導(dǎo)入的密鑰對(duì)必須支持以下任意一種加密方式:
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操作系統(tǒng)
完成以下操作,查看公鑰信息:
啟動(dòng)PuTTYgen。
單擊Load。
選擇
.ppk
或.pem
文件。PuTTYgen會(huì)顯示公鑰信息。
本地為L(zhǎng)inux或Mac系統(tǒng)
運(yùn)行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
在實(shí)例內(nèi)部查看公鑰信息
遠(yuǎn)程連接Linux實(shí)例。具體操作,請(qǐng)參見(jiàn)通過(guò)密鑰對(duì)遠(yuǎn)程連接Linux服務(wù)器。
執(zhí)行以下命令,查看SSH密鑰對(duì)的公鑰信息。
sudo cat ~/.ssh/authorized_keys
說(shuō)明公鑰內(nèi)容放在
~/.ssh/authorized_keys
文件內(nèi)。在實(shí)例內(nèi)打開(kāi)該文件,會(huì)返回公鑰信息。
相關(guān)操作
您可以通過(guò)API的方式管理密鑰對(duì):