分享ssh-keypairs的好方法是什么?

Modified on: Wed, 18 Sep 2019 00:20:02 +0800

我有几个用于身份验证的密钥对,用于ssh到Amazon云上的服务器。我每周手动轮换这些证书。我的问题是,我需要与一些同事共享证书,一些在LAN上,还有一些在该国的另一个地方。分享证书的最佳做法是什么?我最初的想法是Dropbox和电子邮件。我们不会托管具有加密功能的专用电子邮件服务器,而且没有VPN。

感谢。

作者:,theTuxRacer

最佳答案

我怀疑你是否真的使用证书进行身份验证。几乎所有基于非密码的SSH身份验证都是使用公钥 - 私钥对完成的,但根本没有涉及证书。在写这个答案之前,我用Google搜索了“ssh证书”,前5个点击来自白痴,错误地将裸公钥(不是证书)称为证书。

以下是通过公钥 - 私钥对进行SSH身份验证的方法:

首先,您生成密钥对。这是两个加密链接的密钥,其中用一个密钥加密的任何东西只能由另一个密钥解密,反之亦然。该对中的两个密钥之一被视为公钥,您不关心谁看到它。事实上,在大多数情况下,您希望将您的公钥发布到世界各地。另一个密钥被视为私钥,除了您之外,您不希望任何人访问您的私钥。

在通过公钥 - 私钥对进行SSH身份验证的情况下,您将公钥放在服务器帐户的authorized_keys文件中(在本例中为您的Amazon EC2实例),服务器允许任何知道私有密钥,它与该公钥相连,可以登录服务器。

如果有人在您的Amazon EC2实例上违反您的帐户并窃取您的公钥,谁会在意?公钥不允许他们以您的身份登录任何内容,因为知道公钥不允许他们知道私钥,除非您拥有私人密钥,否则无法登录帐户密钥与帐户中的公钥一起使用。

当您的私钥(在家中或工作时在您自己的SSH客户端计算机上)遭到破坏时,您只需要更改Amazon EC2实例上的SSH公钥。

如果你需要你的牛人能够登录EC2实例上的相同帐户,让他们发送他们的 SSH公钥 - 通过任何媒介,不需要保密,因为这些只是他们的公钥,而不是他们的私钥 - 并将这些公钥附加到Amazon EC2实例帐户中的authorized_keys文件。然后,您可以登录这些帐户,并且您可以将私钥完全保密,不要将它们发送到任何地方。

作者:,Spiff

相关问答

添加新评论