2

我的问题是通过带有密钥身份验证的 ssh 登录。到目前为止,这项工作非常好:使用例如 putty 登录到服务器可以正常工作。公钥存储在~/.ssh 目录中,私钥是正确的。

但是,如果我将一个用户添加到我想登录的用户的组中,那么到目前为止登录是不可能的。我看到密码提示并鼓励为用户输入密码,但我的私钥不再使用。在我输入正确的密码后,它也可以工作。

如果我再次从 /etc/group 中删除用户,则用户可以再次使用密钥登录。

仅当用户组中至少有一个用户时,ssh 密钥登录不再起作用。

如果有人有建议并会在此处发布,那将非常好。

问候

斯文

4

1 回答 1

4

检查 .ssh 目录和 authorized_keys 文件的权限。如果组中有多个用户并且目录是组可写的,则不再使用密钥。您可以从 /var/log/auth.log 在服务器上看到它,其中 sshd 代理应该报告类似“身份验证被拒绝:所有权或模式错误”之类的信息

.ssh 目录应该有 700 的权限(只有用户可以读、写和执行)。对于文件 600(只有用户可以读写)是最好的权限。在一些实现中,主目录也不能是组可写的。

这一切的原因是,如果文件可以按组写入,则该组中的任何人都可以添加自己的密钥并以您的身份登录。

于 2013-02-02T18:54:01.513 回答