Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将ssh验证指纹添加到已知主机_Ssh_Chef Infra_Ssh Keys - Fatal编程技术网

将ssh验证指纹添加到已知主机

将ssh验证指纹添加到已知主机,ssh,chef-infra,ssh-keys,Ssh,Chef Infra,Ssh Keys,我正在使用Chef,并试图将SSH指纹添加到特定服务用户帐户的已知\u hosts文件中,以便通过git拉入repos。我的脚本失败,因为主机验证失败。我不想跳过验证。我希望chef将指纹安装到已知主机文件中 要求: 不要禁用验证 不要跳过验证 不要向已知的\u hosts文件中添加重复项(使其对chef是幂等的) 不要使用DNS。SSH可以使用DNS进行验证,但这并不过分安全,并且默认情况下不会为安装启用DNS 使以后的更改更容易,不要为已知的\u主机预编译哈希行,输入应该是ssh密钥的指纹

我正在使用Chef,并试图将SSH指纹添加到特定服务用户帐户的已知\u hosts文件中,以便通过git拉入repos。我的脚本失败,因为主机验证失败。我不想跳过验证。我希望chef将指纹安装到已知主机文件中

要求:

  • 不要禁用验证
  • 不要跳过验证
  • 不要向已知的\u hosts文件中添加重复项(使其对chef是幂等的)
  • 不要使用DNS。SSH可以使用DNS进行验证,但这并不过分安全,并且默认情况下不会为安装启用DNS
  • 使以后的更改更容易,不要为已知的\u主机预编译哈希行,输入应该是ssh密钥的指纹

  • 你有没有想过如何做到这一点?我一直在研究ssh-keyscan和ssh-keygen。有搜索功能和删除功能,但似乎没有添加密钥的方法。

    使用超市提供的
    ssh
    cookbook


    它有一个LWRP,使得添加密钥非常容易。

    请参阅:。另见:所以,我只是尝试了一下。两个问题。第一,它要求为您提供行(违反要求5),并且似乎插入了重复的行(#3)。有一个
    hashed
    属性,默认为
    true
    ,但如果愿意,可以将其设置为false。至于复制品,它已经经过了大量的测试。仔细检查,如果你得到的是重复的,用一个可以用来重新制作的例子来说明问题。我一定会把它修好的。我想把条目散列。至于测试用例,我按照文档的指示使用它。每个chef客户端运行都会向已知的\u hosts文件添加2个条目。总是这样。@Chris我相信这是很久以前补好的。如果您运行kitchen测试,然后重新收敛几次,您仍然只能获得每个密钥的一个副本。