2013-02-02 71 views
1

我的問題是通過帶密鑰驗證的ssh進行登錄。迄今爲止這項工作非常順利:使用例如膩子到服務器的作品。公鑰存放在〜/ .ssh目錄中,私鑰是正確的。與組中的用戶進行SSH密鑰驗證

但是,如果我添加一個用戶到用戶的組中,我想登錄,那麼登錄是不可能的。我看到一個密碼提示,並鼓勵爲用戶輸入密碼,但我的私鑰不再使用。輸入正確的密碼後,它也可以正常工作。

如果我再次從/ etc/group中刪除用戶,用戶可以再次使用密鑰登錄。

Only如果用戶組中至少有一個用戶,則ssh密鑰登錄不再起作用。

如果有人有一個建議,並會在這裏發佈這個,這將是非常好的。

問候

斯文

回答

3

檢查.ssh目錄的權限和authorized_keys文件。如果組中有多個用戶,並且該目錄是組可寫的,則不再使用這些密鑰。你可以從/var/log/auth.log中的服務器上看到它,其中sshd代理應該報告類似於「身份驗證被拒絕:所有權或模式不佳」

.ssh目錄應該有權限700(只有用戶可以讀取,寫入和執行)。對於文件600(只有用戶可以讀寫)纔是最好的權限。在一些實現中,主目錄也不能被分組寫入。

所有這一切的原因是,如果文件可以按組寫入,則該組中的任何人都可以添加他們自己的密鑰並以您的身份登錄。

+0

感謝您的回覆。 權限如下,但仍然不起作用。我已經改變了目錄的權限(遞歸),並且用戶添加到了組中(我預料這個問題已經成爲問題了): drwx ------ 2 git git 4096 Feb 2 19:01。 drwxrwx --- 6 git git 4096 Feb 2 19:01 .. -rwx ------ 1 git git 790 Feb 2 19:01 authorized_keys –

+1

父目錄(..)似乎仍有寫入位。嘗試改變它只能由用戶寫入(可能它的父母也一直到根)。 – Edu

相關問題