如何仅将私人 ssh 密钥分配给一个用户?

How to assign private ssh key to only one user?

我的服务器上有 ssh-key 授权。我已经为两个用户添加了 public 密钥:user1 和 user2 到 authorized_keys。如何限制某些用户只能使用他的密钥登录? User1 应该只能用他的私钥登录到服务器(他不应该用他的私钥作为 User2 登录 - 现在可以了)。为什么有效?

示例:

用户 1 使用他的私钥登录为 user1@server - 登录成功。

用户 2 使用他的私钥登录为 user2@server - 登录成功。

用户 1 使用他的私钥登录为 user2@server - 登录成功(但不应该!)。

每个用户都应该有自己的 authorized_keys 文件。通过将两个用户的 public 密钥添加到单个 authorized_keys 文件(这听起来像您所做的),您将授予 2 个用户对同一帐户的访问权限。 user1 的 public 密钥应该在与 user1 关联的 authorized_keys 文件中,user2 的 public 密钥应该在与 user2 关联的 authorized_keys 中。

您没有说明服务器的 OS,但如果它是 Linux,用户 1 的 public 密钥应该进入“/home/user1/.ssh/authorized_keys”,以及“/home/user2/.ssh/authorized_keys”中 user2 的 public 键。