一台服务器可以有多个 SSH 密钥对吗?

Can a server have more than one SSH key pair?

我在 AWS 上有一个 EC2 服务器。我在第一次连接到服务器时创建了一个密钥对(按照控制台上的任何默认步骤)。

现在我想从不同的机器登录到同一个服务器。最好的方法是什么?我必须通过电子邮件将我的 public 密钥发送到另一台机器吗?

我尝试在 AWS 控制台上创建更多密钥对,但无法想出要向服务器添加更多密钥对。这可能吗?

更新:

这不是一个重复的问题。我的目标不是将两个密钥对与一台服务器相关联。我正在尝试找到一种从不同计算机登录服务器的方法,无论是使用相同的密钥对、另一个密钥对还是不同的用户。

无法为一个 ec2 服务器创建多个密钥对;但是您可以创建多个用户并通过该用户授予访问权限。

Id 建议创建多个用户并通过带有密钥身份验证的 ssh 授予访问权限。我在下面的演练中包含了 link。

话虽如此,您创建一个新用户,然后 分配权限和特权。接下来你生成一个密钥 - 证书。最后,您将证书关联到用户。

https://debian-administration.org/article/530/SSH_with_authentication_key_instead_of_password

当从 Amazon Linux AMI(以及其他几个 Linux AMI)启动 Amazon EC2 实例时,启动时选择的 public 一半密钥对将自动复制到:

/home/users/ec2-user/.ssh/authorized_keys

当您稍后尝试通过提供密钥对的私有部分登录 ec2-user 时,将比较这两部分,如果它们匹配,您将被允许以该用户身份登录。

您可以通过以下任一方式允许其他人登录 ec2-user

  • 给他们相同的私钥对(不利于安全),
  • 通过为它们创建一个密钥对(通过 ssh-keygen)并将该密钥对的 public 一半添加到上述文件中

或者,您可以在机器上为他们创建一个新用户,然后将密钥对添加到他们用户目录中的上述文件中。

参见:Add New User Accounts with SSH Access to a Linux Instance

因此,要从另一台计算机登录到该 EC2 实例,您将需要另一台计算机上的私钥对。就像密码一样。

或者,您可以在该计算机上创建一个新的密钥对,并将 public 密钥对复制到目标实例上的 authorized_keys 文件中。

所有这些都是 Linux 的东西,而不是 Amazon EC2 特有的东西。