linux免密登錄ssh失敗如何解決

小億
163
2023-09-09 03:00:37

要在Linux上實(shí)現(xiàn)免密登錄SSH,需要完成以下步驟:

  1. 生成SSH密鑰對(duì):在本地機(jī)器上執(zhí)行以下命令生成SSH密鑰對(duì):
ssh-keygen -t rsa

這將生成id_rsa(私鑰)和id_rsa.pub(公鑰)兩個(gè)文件。

  1. 將公鑰復(fù)制到遠(yuǎn)程服務(wù)器:使用ssh-copy-id命令將公鑰復(fù)制到目標(biāo)服務(wù)器上的authorized_keys文件中。例如,如果要將公鑰復(fù)制到目標(biāo)服務(wù)器的用戶名為user的主目錄下,請(qǐng)執(zhí)行以下命令:
ssh-copy-id user@remote_server_ip

輸入遠(yuǎn)程服務(wù)器的密碼后,公鑰將被復(fù)制到目標(biāo)服務(wù)器上。

  1. 配置SSH免密登錄:在遠(yuǎn)程服務(wù)器上,確保SSH配置文件(/etc/ssh/sshd_config)中的以下設(shè)置正確:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

確保這些設(shè)置沒有被注釋掉,并且值為"Yes"。

  1. 重新啟動(dòng)SSH服務(wù):在遠(yuǎn)程服務(wù)器上執(zhí)行以下命令以重新啟動(dòng)SSH服務(wù):
sudo service ssh restart

如果你仍然無法實(shí)現(xiàn)免密登錄SSH,請(qǐng)確保執(zhí)行了上述步驟,并檢查以下問題:

  • 鍵對(duì)是否正確生成:確保在本地機(jī)器上生成的公鑰和私鑰文件(id_rsa和id_rsa.pub)位于~/.ssh/目錄下。

  • 公鑰是否正確復(fù)制到目標(biāo)服務(wù)器:確保使用ssh-copy-id命令將公鑰復(fù)制到目標(biāo)服務(wù)器上的正確位置(通常是目標(biāo)服務(wù)器上的~/.ssh/authorized_keys文件)。

  • 目標(biāo)服務(wù)器的SSH配置是否正確:確保目標(biāo)服務(wù)器的SSH配置文件(/etc/ssh/sshd_config)中的設(shè)置正確,特別是RSAAuthentication、PubkeyAuthentication和AuthorizedKeysFile設(shè)置。

  • SSH服務(wù)是否已重新啟動(dòng):確保在對(duì)目標(biāo)服務(wù)器的SSH配置進(jìn)行更改后,重新啟動(dòng)了SSH服務(wù)。

如果問題仍然存在,你可以嘗試查看目標(biāo)服務(wù)器上的/var/log/auth.log文件以獲取更多的錯(cuò)誤信息,以幫助你進(jìn)一步解決問題。

0