通過 SSH 協(xié)議可以遠程登錄訪問和控制 Linux 系統(tǒng)。其中, SSH2-openSSH 支持基于口令和基于公共密鑰的兩種認證方式。常用的 SSH 客戶端軟件,如 Xmanager 和 SecureCRT 都提供了對兩種認證方式的支持。
基于口令的認證,需要在用戶每次登錄的時候都輸入用戶名和口令,顯得比較麻煩。而基于公共密鑰的認證,只需要在第一次輸入密鑰口令,就可以不需要再次輸入,使用起來比較方便。
下面,針對 Xmanager 提供的 Xshell 對基于公共密鑰的認證方法的配置進行介紹。
生成非對稱的密鑰
首先,需要在 Xshell 中生成公鑰 - 私鑰對。如圖所示,打開密鑰生成向導。
根據(jù)向導,選擇密鑰類型和密鑰長度。之后,選擇"下一步"繼續(xù)。
經(jīng)過一段時間,系統(tǒng)會自動生成一個公鑰 - 私鑰對,選擇"下一步"繼續(xù)。
接下來,系統(tǒng)會提示輸入該密鑰對的名字,以及加密該密鑰的口令。當兩次輸入的口令一致之后,"下一步"和"完成"按鈕被激活。此時,可以選擇"完成"退出向導;也可以選擇"下一步"繼續(xù)。
下一步中,用戶可以將生成的公鑰保存到一個文件中,以備日后使用。
之后,選擇"完成",退出該向導。接下來,用戶可以在用戶密鑰管理器中看到剛才創(chuàng)建的密鑰" id_dsa_1024
向 Linux 系統(tǒng)中導入用戶公鑰
為此,需要用戶首先通過口令方式登錄 Linux 系統(tǒng)。之后,在 Xshell 的工具欄上選擇" New File Transfer "按鈕,打開 Xftp 。
Xftp 將提示用戶輸入當前用戶的口令。輸入后,將可以從本地向 Linux 服務器傳送文件。
通過這種方式,將剛剛生成的文件傳送到 Linux 服務器上。之后,在需要使用 SSH 登錄 Linux 系統(tǒng)用戶的 HOME 目錄下創(chuàng)建 .ssh 文件夾,將剛剛傳遞到 Linux 系統(tǒng)上的 id_dsa_1024.pub 文件放入 .ssh 目錄下,并將該文件重命名為 authorized_keys2 。最后,將 .ssh 目錄和 authorized_keys2 文件的屬性修改其它組和用戶不能寫。具體命令,如下所示:
suse:~ # mkdir .ssh
suse:~ # mv id_dsa_1024.pub .ssh/authorized_keys2
suse:~ # chmod go-w .ssh .ssh/authorized_keys2
配置用使用公共密鑰進行登錄
最后,修改登錄用戶屬性,如下圖所示:
將登錄方法修改為" Public Key ",并在下拉列表中選擇用戶登錄時使用的密鑰 id_dsa_1024 ,并輸入該密鑰的加密代碼。點擊"確定"完成修改。
之后,用戶登錄系統(tǒng)時就不需要多次輸入登錄口令了。