将SSH认证指纹添加到已知主机列表

3
我正在使用 Chef,并尝试将 SSH 指纹添加到特定服务用户帐户的 known_hosts 文件中,以便我可以通过 git 拉取存储库。我的脚本因主机验证失败而失败。我不想跳过验证。我希望 Chef 将指纹安装到已知主机文件中。
要求:
  1. 不要禁用验证
  2. 不要跳过验证
  3. 不要向 known_hosts 文件添加重复条目(使其对于 Chef 可重复)
  4. 不要使用 DNS。SSH 可以使用 DNS 进行验证,但这并不是非常安全的,并且默认情况下未启用安装。
  5. 使其易于以后更改,不要预编译 known_hosts 的散列行,输入应为 ssh 密钥的指纹。
您有什么想法吗?我一直在看 ssh-keyscan 和 ssh-keygen。它们都有搜索和删除功能,但似乎没有方法来添加密钥。

请参阅:https://supermarket.chef.io/cookbooks/ssh_known_hosts。另请参阅:https://sethvargo.com/add-ssh-known-hosts-with-chef/。 - Mark O'Connor
1个回答

0

所以,我刚试了一下。有两个问题。首先,它要求为您提供行(违反要求5),并且似乎会插入重复的行(#3)。 - Chris
请查看自述文件。其中有一个名为“hashed”的属性,默认值为“true”,但如果您喜欢,可以将其设置为false。至于重复项,已经进行了相当大量的测试。请再次检查,如果您仍然遇到重复项,请提出一个问题,并提供一个可用于重现的示例。我会确保对其进行修补。 - Tejay Cardon
我想保持条目的哈希。至于测试用例,我按照文档中的指示使用它。每次 chef-client 运行都会向 known_hosts 文件添加 2 个条目。总是这样。 - Chris
@Chris 我相信这个问题很久以前就被修复了。如果你运行厨房测试,然后重新收敛几次,你仍然只会得到每个键的一个副本。 - Tejay Cardon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接