создать теневой пароль в Ruby для автоматической установки Ubuntu

У меня есть скрипт Ruby, который с помощью шаблона создаетcloud-inityaml, который будет использоваться для автоматической установки Ubuntu . Сам скрипт должен зашифровать пароль пользователя и на данный момент я делаю это с помощью BCrypt:

      BCrypt::Password.create("foo")

Когда я запускаю автоустановку и она завершается, я не могу войти в систему, используя . Итак, по какой-то причине установщик или какая-то его часть (буду признателен, если кто-нибудь объяснит мне это) неправильно расшифровывает пароль, возможно, потому, что он в неправильном формате или что-то в этом роде.

Затем я попробовал использоватьmkpasswdизwhoisупаковка (apt install whois) для генерации зашифрованного хеша следующим образом:

      echo foo | mkpasswd -m sha-512 -s

и сгенерированный хэш сработал, и я смог войти в систему с помощьюfooпосле установки.

Поэтому мой главный вопрос: как я могу воспроизвестиmkpasswd -m sha-512поведение в скрипте Ruby без запуска процесса оболочки из самого скрипта?

ТИА!

РЕДАКТИРОВАТЬ

Я попробовал использовать следующее решение Ruby:

      salt = 's0m3s4lt'
hash = 'test'.crypt('$6$' + salt)
puts hash

но сгенерированный пароль тоже неверен.

0 ответов

Другие вопросы по тегам