在centos系統(tǒng)上設(shè)置ssh密鑰認證可以顯著提升安全性,避免每次登錄都需要輸入密碼。以下是詳細的配置步驟:
1. 生成ssh密鑰對
首先,在本地計算機上生成SSH密鑰對。如果你已經(jīng)有現(xiàn)成的密鑰對,可以跳過這一步。
ssh-keygen -t rsa -b 4096 -C "your_emai[email protected]"
執(zhí)行該命令后,系統(tǒng)會詢問你保存密鑰文件的位置和名稱,默認路徑是~/.ssh/id_rsa。你可以直接按回車鍵接受默認設(shè)置。接著,系統(tǒng)會提示你輸入一個可選的密碼短語(passphrase),為了加強安全性,建議設(shè)置一個。
2. 將公鑰復(fù)制到遠程服務(wù)器
使用ssh-copy-id命令將公鑰復(fù)制到遠程服務(wù)器的~/.ssh/authorized_keys文件中。
ssh-copy-id user@remote_host
其中,user是遠程服務(wù)器上的用戶名,remote_host是遠程服務(wù)器的IP地址或域名。執(zhí)行命令后,系統(tǒng)會要求你輸入遠程服務(wù)器用戶的密碼。
3. 配置SSH服務(wù)器
確保遠程服務(wù)器的SSH配置允許使用密鑰認證。編輯遠程服務(wù)器上的/etc/ssh/sshd_config文件:
sudo vi /etc/ssh/sshd_config
找到并確保以下配置項沒有被注釋掉(即沒有以#開頭):
PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
4. 重啟SSH服務(wù)
修改配置文件后,需要重啟SSH服務(wù)以使更改生效。
sudo systemctl restart sshd
5. 測試SSH密鑰認證
現(xiàn)在,你應(yīng)該可以使用SSH密鑰認證登錄到遠程服務(wù)器了。
ssh user@remote_host
如果一切配置正確,你應(yīng)該能夠直接登錄,而無需輸入密碼。
6. 禁用密碼認證(可選)
為了進一步提升安全性,你可以選擇禁用密碼認證。編輯/etc/ssh/sshd_config文件,找到并修改以下配置項:
PasswordAuthentication no
然后重啟SSH服務(wù):
sudo systemctl restart sshd
請注意,一旦禁用密碼認證,如果你忘記了私鑰的密碼短語,將無法登錄到服務(wù)器。
通過上述步驟,你可以在centos上成功設(shè)置SSH密鑰認證,提升系統(tǒng)的安全性。