【问题标题】:Sharing SSH Keys across multiple hosts跨多个主机共享 SSH 密钥
【发布时间】:2016-02-23 08:28:17
【问题描述】:

我正在构建一个分布在多台机器上的服务,该服务登录到其他目标机器并执行操作(写入文件、运行 shell 脚本等)。

目前,我已将此服务配置为使用用户名和密码作为身份验证形式,以通过 ssh 连接到目标机器,但它需要在目标机器上进行一些额外的引导才能使其正常工作。我想改用公钥/私钥身份验证模型。

我的问题是,由于该服务分布在多个主机上,将私钥存储在安全位置(例如使用 AWS KMS 或一些类似服务)并让我的每台机器从该安全位置读取是不是不好的做法位置,还是我的每台机器都应该有一个私钥?

【问题讨论】:

    标签: ssh distributed-computing ssh-keys aws-kms


    【解决方案1】:

    让你的所有机器从一个中心位置获取 ssh 密钥本质上并不比它们都从一个中心位置获取用户名和密码更糟糕。但是,他们获取 ssh 密钥的连接应该是安全的,这可能意味着您必须至少有一个密钥 - 到达您的中心位置的密钥 - 本地存储在每台机器上。

    【讨论】:

    • 我不是 100% 确定我会关注你。你是说每台机器都应该期望有一个本地存储的密钥,如果没有,它应该从集中的安全位置检索它?
    • 我是说用于访问您所说的“目标”机器的密钥将存储在中心位置,但机器仍需要能够访问中心位置。因此,您仍然需要在每台机器上存储一个密钥或某种密码,但即使您正在访问一大堆目标机器,也不需要存储一大堆。
    【解决方案2】:

    我会回答最好为每台机器都有一个私钥。

    这样,如果私钥被盗,只有一台机器被盗,而不是所有机器。

    此外,您只需要保护私钥即可。根据定义,公钥是公开的。如果您喜欢,请随意在 Twitter 上发布您的公钥。它将产生零影响。

    【讨论】:

    • 是的,我认为我不必保护公共的。我对非对称加密不是很熟悉,你能有不同的私钥与同一个公钥关联吗?
    • 没有。私钥总是与一个公钥相关联。反之亦然。
    • 啊哈。我不确定这是否是我想要的方法,我需要共享该公钥,以便轻松将其分发到我的农场将登录的目标机器。这提出了一个有趣的权衡。
    • 好吧,你可以给目标机器所有的公钥。但是,是的,这是一个隔离/可管理性的权衡。您还可以有一组不是 1-1 映射到客户端的密钥对,但仍然提供一些隔离。
    【解决方案3】:

    您可以使用基于区块链的去中心化 PKI 系统EMCSSH:http://emercoin.com/EMCSSH

    免责声明: 我是这个系统的作者,会回答任何问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      • 2018-09-13
      • 2013-01-31
      • 2020-04-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多