在Linux客戶端上生成SSH密鑰,然后將公鑰添加到服務(wù)器端的授權(quán)列表,可以實(shí)現(xiàn)無(wú)密碼的SSH連接。以下是生成SSH密鑰對(duì)并將公鑰添加到服務(wù)器端的步驟:
在客戶端上生成SSH密鑰:
在Linux客戶端的終端或命令提示符中執(zhí)行以下命令來(lái)生成SSH密鑰對(duì):
ssh-keygen -t rsa
系統(tǒng)會(huì)提示你選擇密鑰保存的位置和密鑰文件的名稱。默認(rèn)情況下,密鑰將保存在~/.ssh/目錄下,文件名為id_rsa(私鑰)和id_rsa.pub(公鑰)。你可以選擇使用默認(rèn)值,也可以根據(jù)需要自定義。
在生成密鑰過(guò)程中,你可以設(shè)置一個(gè)可選的密碼(也稱為密鑰保護(hù)口令)。這樣做會(huì)在使用SSH密鑰連接時(shí)要求輸入密碼。如果你選擇設(shè)置密碼,請(qǐng)確保記住它。
復(fù)制公鑰到服務(wù)器端:
在生成SSH密鑰后,你需要將公鑰復(fù)制到目標(biāo)服務(wù)器的~/.ssh/authorized_keys文件中,這樣服務(wù)器就能識(shí)別并授權(quán)你的SSH密鑰。
ssh-copy-id username@hostname
將上述命令中的username替換為你在服務(wù)器上的用戶名,hostname替換為服務(wù)器的IP地址或主機(jī)名。然后,系統(tǒng)會(huì)提示你輸入服務(wù)器的用戶密碼(目標(biāo)服務(wù)器上的密碼)。輸入密碼后,客戶端的公鑰將會(huì)被復(fù)制到服務(wù)器端的authorized_keys文件中。
如果ssh-copy-id命令在你的系統(tǒng)上不可用,你也可以手動(dòng)將公鑰復(fù)制到服務(wù)器端。使用以下命令將公鑰內(nèi)容添加到服務(wù)器端的authorized_keys文件中:
cat ~/.ssh/id_rsa.pub | ssh username@hostname 'cat >> ~/.ssh/authorized_keys'
注意:在復(fù)制公鑰到服務(wù)器之前,確保服務(wù)器的~/.ssh/目錄存在,如果不存在,可以使用ssh命令登錄到服務(wù)器并創(chuàng)建該目錄。
測(cè)試SSH連接:
現(xiàn)在,你應(yīng)該可以使用SSH密鑰對(duì)連接到服務(wù)器而無(wú)需輸入密碼。在終端上使用以下命令來(lái)測(cè)試連接:
ssh username@hostname
如果一切設(shè)置正確,你應(yīng)該可以直接連接到服務(wù)器,而不需要輸入密碼。
完成上述步驟后,你就可以在客戶端上生成SSH密鑰,并將公鑰添加到服務(wù)器端,實(shí)現(xiàn)無(wú)密碼的SSH連接。這將提高SSH連接的安全性和便利性。請(qǐng)確保妥善保管私鑰,不要泄露給未經(jīng)授權(quán)的人員。