linux - 组内用户的 SSH key 身份验证

标签 linux ssh private-key

我的问题是通过 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/

相关文章:

linux - 使用 MDEV-17458 将 galera 集群更新到 10.3.15

c# - 在 C# 中从 Windows 访问 iOs 文件系统

c# - 在 C# 中实例化一个 X509Certificate 对象,该对象也保存私钥

security - 基于ssh key 的网站访问?

linux - 如何使用 sed ssh 更改值

node.js - 是否可以使用 node.js 和加密来签署 Passbook list ?

java - 带有 DSA 私钥的 dnssec-keygen 输出文件

linux - 403 Forbidden 和 13 Permission Denied

linux - 在多个服务器的 Linux 中搜索多个目录中的字符串

linux - Bash 脚本 : Output multiple lines to one line