Я взял на себя проект, в котором у многих учетных данных Jenkins есть пароли или строки парольных фраз, которые мне нужно знать, чтобы продолжить работу над проектом, к сожалению, они нигде не были задокументированы.
Я проверил credentials.xml
файл, где хранятся эти учетные данные, но они не в виде простого текста, например:
<passphrase>{AAAAAAAAAAAANzxft/rDzyt8mhxpn3O72dxvVqZksL5vBJ4jNKvAjAA=}</passphrase>
Примечание: я немного изменил его из соображений конфиденциальности.
Как я могу расшифровать его оригинальный пароль на основе приведенной выше строки?
jenkins
encryption
kenorb
источник
источник
"{...}"
удалите лишние один раз.Ответы:
К счастью, есть
hudson.util.Secret.decrypt()
функция, которая может быть использована для этого, поэтому:/script
страницу.Запустите следующую команду:
или:
где
{XXX=}
ваш зашифрованный пароль Это напечатает простой пароль.Чтобы сделать наоборот, запустите:
Источник: суть в
tuxfight3r/jenkins-decrypt.groovy
.Кроме того, проверьте следующие сценарии:
tweksteen/jenkins-decrypt
,menski/jenkins-decrypt.py
.Для получения более подробной информации, проверьте: хранилище учетных данных в Jenkins .
источник
Вот небольшой фрагмент кода, который вы можете просто запустить из консоли сценария jenkins, чтобы вывести все свои учетные данные в обычный текст.
Более сложная версия, в которой перечислены несистемные поставщики учетных данных:
источник
Для записи, следующий фрагмент, который нужно вставить в консоль, также выполняет свою работу:
источник