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