Plink SSH主机密钥 - > Windows注册表项

时间:2017-02-07 15:56:19

标签: windows rsa plink

当我选择接受并存储主机密钥时,我试图弄明白如何在plink中创建windows正在进行的注册表项...我希望能够在C++内自动执行此过程...有人这样做过吗?我的线索是它给你RSA2 key fingerprint ...是什么意思转换成存储在注册表中的内容?如果是这样 - 怎么样?如果不是 - 有没有人知道是否可以自动化该条目而无需通过用户交互接受主机密钥?

Rsa2密钥指纹:

f5:11:17:52:e1:bb:5e:12:ad:ce:ef:cd:c2:d1:4d:5a

Windows注册表项:

0x10001,0xc81cb48f929a6f09bab2c27050d53050d9051d3999b552bb1a83f525fea280a1f55424ad4d77c778afdebaf9ff09c99517f77f4da191fde40b65ec867325159663708ffdb6e6661b026611a7b88150279edb166febfcbe122da7d0e53263a068f70e7407a0379a89540f59913512d2ed9138ee09239fc02a2ec50bfbfe2e839a5ab1da505c10e6131bbbc1aa2031a619e8c68cf3ea122e610c62c5ae15db31c2691289568fceae4614cea7b64519a98cc36ee00eb42f957d1fececbf78f8cf1f0587ce0eb09e0863f3526a4bf4e96eeee5f67c4dafc87bd1dc78ee81e651694bad22de954c50df8dde6a3c2e9e982ed448892e7091455249dd720da3cca6e231

非常感谢任何帮助,我对这部分工作并不太热衷,我也不认为我必须使用{{自动接受主机密钥。 1}}但他们真的不希望自动化这个......

1 个答案:

答案 0 :(得分:0)

PuTTY FAQ解释了为什么plink本身不提供自动执行此过程的原因:

  

A.2.9是否可以选择关闭烦人的主机密钥提示?
  不,没有。而且不会有。即使您自己编写并向我们发送补丁,我们也不会接受它   ...   主机密钥检查可以保证您在客户端对数据进行的加密与从服务器端的数据中获取的加密相同;这是你的保证,它在途中没有被移除和替换。

在继续之前理解这个推理很重要。然而,它继续提到两件事:

  1. -hostkey选项,允许您在运行plink
  2. 时在命令行上指定已知的主机密钥
  3. 用于将OpenSSH .known_hosts文件转换为.reg文件的Python脚本。
  4. 来自常见问题解答的Python脚本链接已损坏,但您可以找到它in the current git viewer as contrib/kh2reg.py

    脚本对密钥执行各种转换(可能类似于标准PEM文件和PuTTY的PPK格式之间的差异),然后使用函数winmungestr为注册表设置格式,其中百分比编码为非可打印的字符,空格和\*?%~

    中的任何一个

    您可以通过一些努力使该脚本适应您的语言和上下文。