如何将节点特定的 SSH 密钥与 Rundeck AWS EC2 资源插件一起使用?
Posted
技术标签:
【中文标题】如何将节点特定的 SSH 密钥与 Rundeck AWS EC2 资源插件一起使用?【英文标题】:How to use node specific SSH keys with Rundeck AWS EC2 Resource Plugin? 【发布时间】:2016-10-06 00:03:16 【问题描述】:我已经为节点配置了带有 AWS EC2 资源插件的 Rundeck 服务器。
现在对于多个 EC2 实例,我使用不同的 SSH 密钥。
有没有办法告诉 Rundeck 在同一个 Rundeck 项目中为不同的 EC2 实例(Rundeck 节点)使用不同的 SSH 密钥?
我曾尝试使用 AWS Resource Plugin 映射为 Rundeck 指定“ssh-keypath”,但没有成功。有什么替代方法吗?
【问题讨论】:
【参考方案1】:您应该能够使用ssh-keypath
指向本地文件,或使用ssh-key-storage-path
指向密钥存储设施中的位置。您还可以在路径中包含 $node.instanceId
之类的内容以动态指定值。对于 EC2 提供程序,您可以在“映射”配置中进行设置,例如 ssh-key-storage-path.default=keys/nodes/node-$node.instanceId.sshkey
如果您只为 keypath 指定了一个静态值,那么所有节点都将使用相同的值。你试过了吗?
另一种方法是在项目配置中的 SSH 节点执行器配置中设置默认值,再次使用密钥路径中的动态节点变量。您可以在项目配置 GUI(或 project.properties 文件内容)中执行此操作。如果您这样做,请不要在 EC2 提供程序中设置将覆盖项目默认值的值。
【讨论】:
我已经尝试了密钥路径的静态值,它工作正常,但我需要在所有服务器上使用相同的密钥。我还尝试将 EC2 提供程序映射为ssh-keypath.selector=keyName
,但没有运气。 SSH 节点执行器配置也接受动态值吗?这对我也不起作用。以上是关于如何将节点特定的 SSH 密钥与 Rundeck AWS EC2 资源插件一起使用?的主要内容,如果未能解决你的问题,请参考以下文章
ssh-keygen - 如何使用特定用户名设置 rsa 密钥