多个用户私钥/公钥

我目前正在进行一个项目,即为一组30个用户维护具有某些简单服务(邮件,Web)的服务器。 我想使用酒吧/私人密钥,但我不确定他们的用途。 每个用户都必须拥有自己的私钥和公钥吗? 每个用户在服务器计算机上有一个不同的公钥,然后是一个私钥? 或者只是一个公钥分发给每个用户和一个私钥? 我真的很想确保我理解并充分了解这个重要的概念! 谢谢你们!

公钥/私钥适用于管理许多服务器的管理员

想象一下,你已经在不同家庭成员的计算机上安装了Ubuntu,他们住在不同的城市。 他们会定期打电话给你修理他们的电脑。 您想远程连接到这些计算机并修复它们。 这是您可能想要使用公钥/私钥的地方。 公钥将发送给您的各个家庭成员的计算机。 私钥与您保持安全。 您可以将公钥提供给任何没有任何安全风险的人。 如果您的叔叔的计算机被公钥窃取,您无需担心。 只需制作公钥的另一份副本,并将其放入叔叔的新计算机中。

这不是您想到的操作模型。 您有30个用户访问一台服务器。 因此每个人都需要一对独立的公钥和私钥。 这是30个私钥和30个公钥。

公钥/私钥不适用于普通邮件和Web服务

公钥/私钥对用于ssh协议。 我不认为他们申请邮件和网络服务。 存在公共/私钥对用于邮件的情况。 这是针对PGP或GPG加密的,其中邮件的接收者可以确定它来自发件人。 在这里,你想象一下你正计划对你的总统发动政变 您想要向30位粉丝发送加密电子邮件。 最重要的是,您的粉丝必须100%确定该电子邮件来自您,而不是来自试图阻止您的计划的其他人。 您可以创建私人/公共密钥对,并将公钥的副本提供给30个粉丝。 您使用私钥加密电子邮件。 如果您的关注者可以使用您的公钥解密您的电子邮件,他们将100%确定它来自您。 这与您或您的关注者如何访问邮件服务器无关。 加密/解密在您的/粉丝计算机中完成。

结论…

除非您计划(1)使用ssh协议授予30个用户命令行访问服务器的权限,或者(2)您希望所有用户使用端到端加密电子邮件,否则公钥/私钥不适用于你描述的情况。

如果您设想(1)或(2),那么每个用户将需要创建自己的私钥/公钥对。

对于情况(1),所有30个公钥都需要存储在ssh服务器中,每个用户都有权连接到该服务器。

对于情况(2),每个用户将需要创建他们自己的私钥/公钥对。 然后,每个用户将需要他们自己的私钥和所有其他29个用户的公钥,以便能够从该组中的其他用户读取加密的电子邮件。

希望这可以帮助

Ask Ubuntu社区维基页面是对此主题的精彩介绍

它有助于让您了解它,并向您显示设置基于密钥的登录的步骤。 @heemayl给出的答案总结了如何使用密钥对。

祝好运!

  Would each user have to have their own private and public key? 

如果您想要基于密钥的登录,并且该用户需要登录到服务器,那么用户应该拥有自己的公钥 – 私钥对。

 `Each user has a different public key and then one private key on the server machine?Or just one public key distributed to each user and one private key?` 

每个用户都有自己的公钥 – 私钥对。 私钥是“私有”,您不得与任何人共享私钥。 而名称建议的公钥是“公共”,可以与您想要的服务器共享。

假设您的帐户在10台服务器上具有相同的用户名(这很重要),您只需要创建一个密钥对。 现在,您的私钥将保留在您的计算机上,您需要将您的私钥复制到10台服务器的主目录中。 现在,当您尝试ssh到任何这些服务器时,您将能够无需密码登录。 要记住密钥对的一个要点是username而不是用户计算机的属性,这样你就可以在另一台计算机上使用私钥给用户foo (假设没有解密密钥的密码)具有相同的用户名foo ssh到服务器。

以下是如何设置基于密钥的身份validation。