2017-02-07 2 views
1

Я пытаюсь выяснить, как сделать запись в реестре, которую plink делает в windows, когда вы решите принять и сохранить ключ хоста ... Я хочу иметь возможность автоматизировать этот процесс в пределах C++ ... Кто-нибудь это сделал? Мои выводы - это то, что вы даете RSA2 key fingerprint ... Это то, что преобразуется в то, что хранится в реестре? Если так - как? Если нет - кто-нибудь знает, возможно ли автоматизировать эту запись без необходимости принимать ключ хоста через взаимодействие с пользователем?Plink SSH Host key -> Записи реестра Windows

Rsa2 отпечаток ключа:

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

реестра Windows запись:

0x10001,0xc81cb48f929a6f09bab2c27050d53050d9051d3999b552bb1a83f525fea280a1f55424ad4d77c778afdebaf9ff09c99517f77f4da191fde40b65ec867325159663708ffdb6e6661b026611a7b88150279edb166febfcbe122da7d0e53263a068f70e7407a0379a89540f59913512d2ed9138ee09239fc02a2ec50bfbfe2e839a5ab1da505c10e6131bbbc1aa2031a619e8c68cf3ea122e610c62c5ae15db31c2691289568fceae4614cea7b64519a98cc36ee00eb42f957d1fececbf78f8cf1f0587ce0eb09e0863f3526a4bf4e96eeee5f67c4dafc87bd1dc78ee81e651694bad22de954c50df8dde6a3c2e9e982ed448892e7091455249dd720da3cca6e231 

Любая помощь очень ценится, я не слишком заинтересованы в этой части работы, я не думаю, Мне нужно было бы пройти эту глубину, чтобы автоматически принять ключи хоста, используя plink, но они действительно не хотят, чтобы было возможно автоматизировать это ...

ответ

0

PuTTY FAQ объясняет почему палить сама не предлагает автоматизировать этот процесс:

A.2.9 Есть ли возможность отключить раздражающие подсказки ключевых хост?
Нет, нет. И не будет. Даже если вы напишете его сами и отправьте нам патч, мы его не примем.
... Проверка ключа хоста является вашей гарантией того, что шифрование, которое вы помещаете в свои данные на стороне клиента, является тем же самым шифрованием, снятым с данных на сервере; это ваша гарантия, что он не был удален и заменен где-то в пути.

Важно, чтобы понять это рассуждение, прежде чем продолжить. Тем не менее, она продолжает отметить две вещи:

  1. -hostkey варианта, который позволяет указать известный ключ хоста в командной строке при запуске plink
  2. Скрипта Python для преобразования OpenSSH .known_hosts файлов в .reg файл.

Ссылка на скрипт Python из часто задаваемых вопросов не работает, но вы можете найти ее in the current git viewer as contrib/kh2reg.py.

Сценарий выполняет различные преобразования на ключе (вероятно, аналогично разнице между стандартными файлами PEM и PPK-форматом PuTTY), а затем использует функцию winmungestr для ее форматирования для реестра, в процентах которого кодируются непечатаемые символы, пробелы и любые из \*?%~

Возможно, вы могли бы адаптировать этот сценарий к своему языку и контексту с небольшим усилием.