在centos上設置ssh密鑰認證可以提供一種更安全的遠程訪問方法,避免每次登錄時都需輸入密碼。以下是實現這一目標的詳細步驟:
1. 創建ssh密鑰對
首先,在你的本地計算機上生成SSH密鑰對。如果已有密鑰對,則可跳過此步驟。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
運行此命令后,系統會要求你選擇密鑰文件的保存位置及設置一個可選的密碼短語。默認情況下,密鑰將保存為~/.ssh/id_rsa(私鑰)和~/.ssh/id_rsa.pub(公鑰)。
2. 傳輸公鑰到centos服務器
使用ssh-copy-id命令將公鑰添加到CentOS服務器上的~/.ssh/authorized_keys文件中。
ssh-copy-id user@remote_host
這里,user是你CentOS服務器上的用戶名,remote_host是服務器的IP地址或域名。
3. 調整SSH服務器設置
確保CentOS服務器上的SSH配置文件允許使用密鑰認證。編輯/etc/ssh/sshd_config文件:
sudo vi /etc/ssh/sshd_config
確認以下配置項已正確設置:
PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
保存并退出編輯器,然后重啟SSH服務以應用這些更改:
sudo systemctl restart sshd
4. 驗證SSH密鑰認證
現在,你可以嘗試使用SSH密鑰認證登錄到CentOS服務器:
ssh user@remote_host
如果配置無誤,你應該能夠無需密碼即可登錄。
5. 設置SSH客戶端(可選)
為了增強安全性,可以在本地計算機的~/.ssh/config文件中配置SSH客戶端,以便更簡便地使用密鑰認證。
Host remote_host HostName remote_host_ip_or_domain User user IdentityFile ~/.ssh/id_rsa
這樣,你只需輸入ssh remote_host即可自動使用配置的密鑰進行認證。
通過上述步驟,你可以在CentOS上成功配置并使用SSH密鑰認證。