ssh登錄提供兩種認證方式:口令(密碼)認證方式和密鑰認證方式。其中口令(密碼)認證方式是我們最常用的一種,這里介紹密鑰認證方式登錄到linux/unix的方法。
使用密鑰登錄分為3步:
1、生成密鑰(公鑰與私鑰);
2、放置公鑰(Public Key)到服務器~/.ssh/authorized_key文件中;
3、配置ssh客戶端使用密鑰登錄。
一、生成密鑰公鑰(Public key)與私鑰(Private Key)
打開Xshell,在菜單欄點擊“tools”,在彈出的菜單中選擇“User Key Generation Wizard...”(新建用戶密鑰生成向導),如下圖
彈出“彈出用戶密鑰生成向導”對話框,在“密鑰類型”項選擇“RSA”公鑰加密算法,“密鑰長度”選擇為“2048”位密鑰長度,如下圖:(默認就行)
繼續下一步,在“密鑰名稱”中輸入Key的文件名稱,我這里為“id_rea_2048”;在“密碼”處輸入一個密碼用於加密私鑰,並再次輸入密碼確認,如下圖:(會有一個默認的密鑰名稱,可修改)
點擊“下一步”,密鑰生成完畢(公鑰格式選擇SSH2-OpenSSH格式),這里顯示的是公鑰,我們可以復制公鑰然后再保存,也可以直接保存公鑰到文件,如下圖。私鑰這里不顯示,可以在“用戶密鑰管理...”導出到文件:一般存在電腦的文檔文件夾
二、上傳公鑰(Public Key)到服務器:
使用到Xshell登錄到服務器,進入到“/root/.ssh/”目錄,運行rz命令(如果沒有rz命令,運行yum install lrzsz安裝),將key.pub發送到服務器,然后運行如下命令,將公鑰(Public Key)導入到“authorized_keys”文件:
三、配置Xshell使用密鑰認證方式登錄到服務器:
打開Xshell,點擊“新建”按鈕,彈出“新建會話”對話框,在“連接”欄目中,輸入剛剛配置好公鑰(Public Key)的IP地址和端口,如下圖所示:
點擊左側的“用戶身份驗證”,切換到認證欄目,在“方法”選擇“Public Key”認證,用戶名輸入“root”(公鑰是放在root目錄下的.ssh文件夾中),在“用戶密鑰”中選擇我們剛才生成的私鑰“id_rsa_8192”,“密碼”中輸入私鑰的加密密碼。
點擊確定,Xshell配置ssh免密碼登錄配置完成。