要在Linux上實現免密登錄SSH,需要完成以下步驟:
ssh-keygen -t rsa
這將生成id_rsa(私鑰)和id_rsa.pub(公鑰)兩個文件。
ssh-copy-id user@remote_server_ip
輸入遠程服務器的密碼后,公鑰將被復制到目標服務器上。
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
確保這些設置沒有被注釋掉,并且值為"Yes"。
sudo service ssh restart
如果你仍然無法實現免密登錄SSH,請確保執行了上述步驟,并檢查以下問題:
鍵對是否正確生成:確保在本地機器上生成的公鑰和私鑰文件(id_rsa和id_rsa.pub)位于~/.ssh/目錄下。
公鑰是否正確復制到目標服務器:確保使用ssh-copy-id命令將公鑰復制到目標服務器上的正確位置(通常是目標服務器上的~/.ssh/authorized_keys文件)。
目標服務器的SSH配置是否正確:確保目標服務器的SSH配置文件(/etc/ssh/sshd_config)中的設置正確,特別是RSAAuthentication、PubkeyAuthentication和AuthorizedKeysFile設置。
SSH服務是否已重新啟動:確保在對目標服務器的SSH配置進行更改后,重新啟動了SSH服務。
如果問題仍然存在,你可以嘗試查看目標服務器上的/var/log/auth.log文件以獲取更多的錯誤信息,以幫助你進一步解決問題。