新聞中心
我們通常會(huì)選擇免密登錄的方式來避免多次輸入密碼帶來的繁瑣麻煩。3. 連接遠(yuǎn)程主機(jī)時(shí)不再需要輸入密碼$ ssh user@remote_host以上步驟都很簡單明了。
在日常使用Linux系統(tǒng)時(shí),我們經(jīng)常需要遠(yuǎn)程登錄到其他主機(jī)進(jìn)行操作。為了方便起見,我們通常會(huì)選擇免密登錄的方式來避免多次輸入密碼帶來的繁瑣麻煩。然而,在實(shí)際應(yīng)用中,有些用戶可能會(huì)遇到一個(gè)比較棘手的問題:雖然已經(jīng)成功地分發(fā)了公鑰,但是每次登錄主機(jī)仍然需要輸入密碼。

這個(gè)問題看似簡單卻不容易解決。下面我就分享一下我的心得體會(huì)和具體操作方法。
首先,讓我們回顧一下如何通過SSH實(shí)現(xiàn)無密碼登錄:
1. 在本地生成SSH秘要對(私鑰+公鑰)
$ ssh-keygen
2. 將公鑰復(fù)制到要連接的遠(yuǎn)程主機(jī)上
$ ssh-copy-id user@remote_host
注意:如果沒有安裝ssh-copy-id命令,則可以手動(dòng)將本地生成的~/.ssh/id_rsa.pub文件內(nèi)容拷貝至目標(biāo)主機(jī)上~/.ssh/authorized_keys文件中即可。
3. 連接遠(yuǎn)程主機(jī)時(shí)不再需要輸入密碼
$ ssh user@remote_host
以上步驟都很簡單明了,并且基本能夠滿足大部分場景需求。但是,在某些情況下可能出現(xiàn)免密登錄失敗的情況,具體表現(xiàn)為:
1. 已經(jīng)成功分發(fā)公鑰,但是仍然需要輸入密碼才能登錄。
2. 在執(zhí)行ssh-copy-id時(shí)出現(xiàn)“Permission denied”等錯(cuò)誤提示。
這些問題一般都與文件權(quán)限有關(guān)。通常來說,SSH會(huì)檢查用戶主目錄、~/.ssh和~/.ssh/authorized_keys文件的訪問權(quán)限,并要求其不能過于寬松(比如777)。
因此,在遇到以上兩個(gè)問題時(shí),我們可以按照以下步驟進(jìn)行排除:
1. 檢查用戶主目錄以及.ssh目錄下所有文件及其父級目錄是否屬于當(dāng)前用戶并且只有該用戶可讀寫執(zhí)行權(quán)限。如果不是,則使用chown和chmod命令修改相應(yīng)的權(quán)限即可。
$ chown -R USER:USER /home/USER
$ chmod 700 /home/USER
$ chmod 600 /home/USER/.ssh/*
2. 檢查authorized_keys文件及其父級目錄是否屬于當(dāng)前用戶并且只有該用戶可讀寫執(zhí)行權(quán)限。如果不是,則同樣使用chown和chmod命令修改相應(yīng)的權(quán)限即可。
$ chown -R USER:USER /home/USER/.ssh/
$ chmod 700 /home/USER/.ssh/
$ chmod 644 ~/.ssh/authorized_keys
3. 如果在執(zhí)行上述操作后還無法解決問題,則可能需要重新生成秘要對并重試以上步驟。同時(shí)也要注意,一些特殊字符可能會(huì)導(dǎo)致免密登錄失敗,因此在生成秘要對時(shí)最好不要使用這些字符。
總體來說,通過以上步驟基本可以解決大部分情況下的免密登錄問題。如果還有其他疑問或者遇到更棘手的問題,請參考官方文檔或者向社區(qū)尋求幫助。
新聞標(biāo)題:Linux免密登錄成功分發(fā)公鑰后依舊需要輸入密碼的問題解決
網(wǎng)頁URL:http://m.fisionsoft.com.cn/article/dpdidoe.html


咨詢
建站咨詢
