如何在沒有密碼的情況下進行 ssh(設定 ssh 密鑰不起作用)?

如何在沒有密碼的情況下進行 ssh(設定 ssh 密鑰不起作用)?

我想要 ssh、scp、git fetch 等,無需密碼。我看到了先前的問題,以及有關此問題的關閉問題,但建議似乎是使用 ssh 金鑰。但是,在設定 ssh 金鑰後,仍然要求我輸入密碼(不是要求我的私鑰密碼;而是要求我的登入密碼)。我應該如何設定它,以便它只使用我的私鑰進行身份驗證?

答案1

~/.ssh在用戶端和伺服器上適當設定 (0700) 及其內容 (0600) 的權限。

答案2

ssh 對文件的所有權很偏執authorized_keys。如果 root 之外的其他人可以更改該文件,則它不會使用它。它會檢查整個目錄樹,因此如果有人可以執行諸如替換您的主目錄或 .ssh 目錄之類的操作,它就不會使用它。檢查從authorized_keys一直到 的權限/。如果沒有設定黏性位,這些都不應該是組或世界可寫的。 (我的 /home 目錄的權限是drwxrwxr-t。所有權必須是 root 或使用者。authorized_keys 檔案的權限不應允許群組或世界存取。

使用ssh -v而不是進行測試ssh應該會有所幫助。使用ssh-copy-id將密鑰複製到遠端系統是一個好主意。

相關內容