Назад | Перейти на главную страницу

метаданные репозитория rhel7 yum, подписи GPG

Я пытаюсь подписать метаданные репозитория yum с помощью GPG в рамках задания Jenkins. Это оказалось сложнее, чем я сначала представлял, но я уверен, что многие люди уже это сделали.

Я выяснил, что могу сделать это на терминале, используя: -

gpg --detach-sign --armor --local-user "Our Team" repomd.xml

Однако при этом появляется окно стиля curses, в котором запрашивается ключ, и я хотел бы автоматизировать это как часть работы Jenkins. Я использовал ожидание для подписания фактических пакетов RPM, и это сработало, но я не думаю, что смогу сделать это с помощью этого метода gpg / curses. Есть ли способ указать gpg просто принимать ввод с клавиатуры и не открывать текстовое поле ввода? (Я читал справочную страницу, но она действительно огромна, и я застреваю).

Будем продолжать попытки, но, надеюсь, кто-то уже решил эту проблему?

На странице руководства вы найдете несколько вариантов передачи парольной фразы:

       --passphrase-fd n
              Read  the passphrase from file descriptor n. Only the first line
              will be read from file descriptor n. If you use  0  for  n,  the
              passphrase  will  be  read  from STDIN. This can only be used if
              only one passphrase is supplied.

       --passphrase-file file
              Read the passphrase from file file. Only the first line will  be
              read  from  file  file.  This  can  only  be  used  if  only one
              passphrase is supplied. Obviously, a passphrase stored in a file
              is  of  questionable security if other users can read this file.
              Don't use this option if you can avoid it.

       --passphrase string
              Use string as the passphrase. This can only be used if only  one
              passphrase  is supplied. Obviously, this is of very questionable
              security on a multi-user system. Don't use this  option  if  you
              can avoid it.

Я не уверен, почему вы упомянули принятие парольной фразы с клавиатуры, если хотите автоматизировать подписывание пакетов. Никого не будет, и клавиатуры не будет. Лучше всего, вероятно, использовать --passphrase-fd и передать парольную фразу через файловый дескриптор, как упоминал womble в своем комментарии.