SSH登陸方式主要分爲兩種:服務器
1. 用戶名密碼驗證方式ssh
說明:加密
(1) 當客戶端發起ssh請求,服務器會把本身的公鑰發送給用戶;spa
(2) 用戶會根據服務器發來的公鑰對密碼進行加密;blog
(3) 加密後的信息回傳給服務器,服務器用本身的私鑰解密,若是密碼正確,則用戶登陸成功。ip
2. 基於密鑰的登陸方式字符串
說明:登錄
(1) 首先在客戶端生成一對密鑰(ssh-keygen);請求
(2) 並將客戶端的公鑰ssh-copy-id 拷貝到服務端;密碼
(3) 當客戶端再次發送一個鏈接請求,包括ip、用戶名;
(4) 服務端獲得客戶端的請求後,會到authorized_keys中查找,若是有響應的IP和用戶,就會隨機生成一個字符串,例如:qwer;
(5) 服務端將使用客戶端拷貝過來的公鑰進行加密,而後發送給客戶端;
(6) 獲得服務端發來的消息後,客戶端會使用私鑰進行解密,而後將解密後的字符串發送給服務端;
(7) 服務端接受到客戶端發來的字符串後,跟以前的字符串進行對比,若是一致,就容許免密碼登陸。