1、準備密鑰對
生成公鑰和私鑰:在本地計算機上使用sshkeygen
命令來生成公鑰和私鑰,這一步驟會創(chuàng)建兩個文件,id_rsa(私鑰)和id_rsa.pub(公鑰),這兩個文件默認被保存在~/.ssh目錄下。
檢查密鑰文件:運行上述命令后,可以進入~/.ssh目錄查看是否成功生成了對應的密鑰文件,確保這些文件存在并且權限設置正確,特別是私鑰文件,不應該有其他人的讀權限。
2、復制公鑰到遠程服務器
使用sshcopyid命令:最簡便的方法是使用sshcopyid
命令,該命令會自動將本地的公鑰復制到遠程服務器的~/.ssh/authorized_keys
文件中,命令的格式為sshcopyid i ~/.ssh/id_rsa.pub username@remote_server
。
手動添加公鑰:如果因為某些原因sshcopyid
不可用,也可以手動將公鑰內容添加到遠程服務器的~/.ssh/authorized_keys
文件中,這可以通過先將公鑰文件傳送到遠程服務器,然后使用文本編輯器手動編輯authorized_keys
文件來完成。
3、配置本地客戶端
修改ssh配置文件:為了方便連接,可以在本地的~/.ssh/config
或/etc/ssh/ssh_config
文件中添加相應配置,以簡化登錄過程,可以指定某個別名、IP地址、使用的密鑰等信息,這樣每次連接時只需要輸入一個簡單的命令即可。
測試連接:配置完成后,嘗試通過SSH連接到遠程服務器,驗證是否實現了免密碼登錄,連接時應使用先前設置的別名或直接使用服務器的地址。
4、高級配置
禁用密碼登錄:為了提高安全性,可以在遠程服務器的SSH配置文件中禁用密碼認證,僅允許密鑰認證,這需要在服務器的/etc/ssh/sshd_config
文件中設置PasswordAuthentication no
,然后重啟SSH服務使配置生效。
管理多個密鑰:對于需要管理多個密鑰的情況,可以重復上述步驟生成新的密鑰對,并確保每個密鑰對用于正確的目的,注意在授權密鑰文件authorized_keys
中,每個公鑰應位于單獨一行。
配置服務器實現免密碼登錄主要涉及生成密鑰對、復制公鑰到遠程服務器、配置本地客戶端等步驟,通過這種方式,不僅可以提高登錄效率,還能增強安全性。