阿里云SSH密鑰對是一種安全便捷的登錄認證方式,用于在SSH協議中進行身份驗證和加密通信。由公鑰和私鑰組成且僅支持Linux實例,滿足您對更高安全性、便利性和自動化能力的業務需求。通過SSH密鑰對,您可以實現免密碼遠程登錄,并在無需人工干預的情況下進行安全的自動化操作,實現服務器配置和應用程序部署的自動化。
SSH密鑰對介紹
SSH密鑰對通過加密算法生成一對密鑰,默認采用RSA 2048位的加密方式。要使用SSH密鑰對登錄Linux實例,您必須先創建一個密鑰對,并在創建實例時指定密鑰對或者創建實例后綁定密鑰對,然后使用私鑰連接實例。
成功創建SSH密鑰對后:
阿里云會保存SSH密鑰對的公鑰部分。在Linux實例中,公鑰內容放在~/.ssh/authorized_keys文件中。
您需要下載并妥善保管私鑰。私鑰使用未加密的PEM(Privacy-Enhanced Mail)編碼的
PKCS#8
格式。
功能優勢
相較于用戶名和密碼認證方式,使用SSH密鑰對認證方式有以下優勢:
安全性:使用SSH密鑰對登錄認證更為安全可靠。
SSH密鑰對安全強度遠高于常規用戶口令,可以杜絕暴力破解威脅。
無法通過公鑰推導出私鑰。
便捷性:
如果您將公鑰配置在Linux實例中,那么,在本地或者另外一臺實例中,您可以無需輸入密碼,直接使用私鑰通過SSH命令或相關工具登錄目標實例。
支持遠程登錄大量Linux實例,更加方便地管理您的實例。如果您需要批量維護多臺Linux實例,推薦使用這種方式登錄。
使用限制
使用SSH密鑰對有如下限制:
僅支持Linux實例。
支持使用創建Linux實例時設置的登錄用戶root或ecs-user(部分鏡像暫不支持ecs-user,具體以實例購買頁面為準)通過SSH密鑰對登錄實例。具體操作,請參見通過密碼或密鑰認證登錄Linux實例或通過密鑰認證登錄Linux實例。
如果您需要使用在Linux實例上自建的用戶通過SSH密鑰對登錄實例,則您需要將~/.ssh/authorized_keys文件拷貝到該用戶的.ssh目錄下,才能登錄Linux實例。具體操作,請參見自建用戶通過SSH密鑰對登錄Linux實例。
如果使用SSH密鑰對登錄Linux實例,將會禁用密碼登錄,以提高安全性。
目前,ECS只支持創建2048位的RSA密鑰對。
一個阿里云賬號在一個地域最多可以擁有500個密鑰對。
通過控制臺綁定密鑰對時,一臺Linux實例只能綁定一個密鑰對。
如果您的實例已綁定密鑰對,則綁定的新密鑰對會替換已有的舊密鑰對。
如果您需要使用多個密鑰對登錄實例,則可以在實例內部手動修改~/.ssh/authorized_keys文件,添加多個密鑰對,具體操作,請參見添加或替換密鑰對。
已停售的實例規格無法使用SSH密鑰對。更多信息,請參見已停售的實例規格。
基于數據安全考慮,在實例狀態為運行中(
Running
)時綁定或解綁密鑰對,您需要重啟實例使操作生效。
生成方式
SSH密鑰對的生成方式包括:
由ECS生成,默認采用RSA 2048位的加密方式。具體操作,請參見創建SSH密鑰對。
重要如果您的密鑰對由ECS生成,那么在首次生成密鑰對時,請務必下載并妥善保存私鑰。當該密鑰對綁定某臺實例時,如果沒有私鑰,您將無法登錄實例。
由您采用SSH密鑰對生成器生成后再導入ECS,導入的密鑰對必須支持以下任意一種加密方式:
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