2015-03-26 3 views
1

Я использую Chef и пытаюсь добавить отпечаток SSH в файл known_hosts определенной учетной записи пользователя службы, чтобы я мог вытащить репозитории через git. Мой скрипт терпит неудачу, потому что проверка хоста не удалась. Я не хочу пропускать проверку. Я бы хотел, чтобы шеф-повар установил отпечаток пальца в файл известных хостов.Добавить ssh проверенный отпечаток на известные хосты

Требование:

  1. Не отключайте верификацию
  2. Не пропускайте проверку
  3. Не добавлять дублирующиеся записи в файл known_hosts (сделать его идемпотентен для повары)
  4. Не использовать DNS , SSH может использовать DNS для проверки, но это не слишком безопасно, и оно не включено по умолчанию для установок.
  5. Упростите изменение позже, не предварительно скомпилируйте хешированную строку для known_hosts, вход должен быть отпечатком ssh-ключа.

Любые мысли о том, как это осуществить? Я смотрел на ssh-keyscan и ssh-keygen. Существуют функции поиска и удаления функций, но нет способа добавить ключ, так что кажется.

+0

См. Https://supermarket.chef.io/cookbooks/ssh_known_hosts. См. Также: https://sethvargo.com/add-ssh-known-hosts-with-chef/ –

ответ

0

Используйте поваренную книгу ssh из супермаркета. https://supermarket.chef.io/cookbooks/ssh

У этого есть LWRP, который делает добавление ключей очень легким.

+0

Итак, я просто попробовал. Две проблемы. Во-первых, требуется, чтобы линия была предоставлена ​​для вас (нарушает требование 5) и, кажется, вставляет повторяющиеся строки (# 3). – Chris

+0

Взгляните на чтение. Существует атрибут hashed, который по умолчанию имеет значение true, но вы можете установить его в false, если хотите. Что касается дубликатов, он был протестирован довольно сильно. Двойная проверка, и если вы получаете дубликаты, поставьте проблему с примером, который можно использовать для повторной обработки. Я обязательно задену его. –

+0

Я хотел бы сохранить хэшированные записи. Что касается тестового примера, я использовал его в соответствии с документами. Каждый запуск chef-client добавляет 2 записи в файл known_hosts. Всегда. – Chris

Смежные вопросы