-
SSH密鑰對概述
阿里雲SSH密鑰對是一種安全便捷的登錄認證方式,由公鑰和私鑰組成,僅支持Linux實例。
-
SSH密鑰對介紹
SSH密鑰對通過加密算法生成一對密鑰,默認採用RSA 2048位的加密方式。要使用SSH密鑰對登錄Linux實例,您必須先創建一個密鑰對,並在創建實例時指定密鑰對或者創建實例後綁定密鑰對,然後使用私鑰連接實例。
成功創建SSH密鑰對後:
- 阿里雲會保存SSH密鑰對的公鑰部分。在Linux實例中,公鑰內容放在~/.ssh/authorized_keys文件內。
- 您需要下載並妥善保管私鑰。私鑰使用未加密的PEM(Privacy-Enhanced Mail)編碼的PKCS#8格式
-
功能優勢
相較於用戶名和密碼認證方式,SSH密鑰對有以下優勢:
- 安全性:SSH密鑰對登錄認證更爲安全可靠。
密鑰對安全強度遠高於常規用戶口令,可以杜絕暴力破解威脅。
不可能通過公鑰推導出私鑰。 - 便捷性:
如果您將公鑰配置在Linux實例中,那麼,在本地或者另外一臺實例中,您可以使用私鑰通過SSH命令或相關工具登錄目標實例,而不需要輸入密碼。
便於遠程登錄大量Linux實例,方便管理。如果您需要批量維護多臺Linux實例,推薦使用這種方式登錄。
- 安全性:SSH密鑰對登錄認證更爲安全可靠。
-
使用限制
使用SSH密鑰對有如下限制:
- 如果使用SSH密鑰對登錄Linux實例,將會禁用密碼登錄,以提高安全性。
- 僅支持Linux實例。
- 目前,ECS只支持創建2048位的RSA密鑰對。
- 一個雲賬號在一個地域最多可以擁有500個密鑰對。
- 一臺Linux實例只能綁定一個SSH密鑰對。如果您的實例已綁定密鑰對,綁定新的密鑰對會替換原來的密鑰對。
- 已停售的實例規格無法使用SSH密鑰對。
- 基於數據安全考慮,在實例狀態爲運行中(Running)時綁定或者解綁密鑰對,您需要重啓實例使操作生效。
-
生成方式
SSH密鑰對的生成方式包括:
- 由ECS生成,默認採用RSA 2048位的加密方式。具體詳情查看創建SSH密鑰對
- 由您採用SSH密鑰對生成器生成後再導入ECS,導入的密鑰對必須支持下列任一種加密方式:
- rsa
- dsa
- ssh-rsa
- ssh-dss
- ecdsa
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
-
具體操作
由上面生成方式可知,共有兩種方式可以實現密鑰方式登錄。第一種就是官方ECS生成那種方式進行操作,這種方式具體就不展開講了,具體可以看官方文檔進行操作,也很簡單。這裏着重講一下第二種生成密鑰的方式如何實現免密登錄。
首先解釋一下第二種方式說的意思,其實就是在本地生成ssh密鑰對,將生成的公鑰複製到ECS服務器上,此時,本地和服務器上都有一樣的公鑰,然後後面就可以利用自己的私鑰來驗證從而登錄服務器了。具體本地如何生成ssh密鑰,這個也很簡單就不說了,如果不清楚,可以自行百度,網上很多。
上面說的第二種方式裏,其實也有兩種情況:
- 本地還沒有生成過密鑰
- 本地已經存在了生成的密鑰(如果平時使用 github,一般都會有ssh密鑰配置,一般本地會有個.ssh文件夾,此目錄下會有兩個文件:id_rsa(私有祕鑰)和id_rsa.pub(公有密鑰))
如果沒有生成過密鑰,則首先本地生成密鑰,之後操作,就與第二種情況操作一樣了。
到這一步,上面不管哪種情況,我們本地已經生成了ssh密鑰,然後要做的就是登陸服務器,進行配置。
這裏使用之前新添加的賬戶登陸服務器,登陸成功後,運行
$ vim .ssh/authorized_keys
命令打開文件。此時,需要將本地的id_rsa.pub(公有密鑰)裏的內容進行復制,然後粘貼到 .ssh/authorized_keys 這個文件裏,最後wq保存並退出。如果不行,則可以先對 .ssh/authorized_keys 進行一個授權,$ chmod 600 .ssh/authorized_keys
,然後重啓ssh,本地登陸測試ssh [email protected]
(自己的實例IP),如果能夠使用新的私鑰登錄ECS實例,表示已經成功。(第一次登陸可能會需要密碼,後面就不會了)注意: 如果本地已經有以前github使用的密鑰配置了,就不要再重新生成密鑰了,否則,生成的新的密鑰會替換掉原來的,會導致你後面無法使用ssh方式登陸github了。切記!!!
阿里雲CentOS7環境下之利用ssh密鑰實現本地免密登錄
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.