我的问题是通过 ssh 进行 key 身份验证登录。到目前为止,这工作得很好:使用例如登录putty 连接到服务器可以正常工作。公钥存放在~/.ssh目录下,私钥是正确的。
但是如果我将一个用户添加到我想要登录的用户组中,则到目前为止无法登录。我看到密码提示,鼓励输入用户密码,但我的私钥不再使用。输入正确的密码后,它就可以工作了。
如果我再次从/etc/group 中删除该用户,该用户可以再次使用 key 登录。
仅当该用户组中至少有一个用户时,ssh key 登录不再起作用。
如果有人有建议并在此发布,那就太好了。
问候
斯文
最佳答案
检查.ssh目录和authorized_keys文件的权限。如果组中有多个用户并且目录是组可写的,则不再使用 key 。您可以在服务器上的/var/log/auth.log 中看到它,其中 sshd 代理应该报告类似“身份验证被拒绝:所有权或模式错误”的内容
.ssh 目录的权限应为 700(只有用户可以读取、写入和执行)。对于文件600(只有用户可以读写)是最好的权限。在某些实现中,主目录也不能是组可写的。
所有这一切的原因是,如果文件可由组写入,则该组中的任何人都可以添加自己的 key 并以您的身份登录。
关于linux - 组内用户的 SSH key 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14664723/