2016-06-07 86 views
19

我已經向詹金斯添加了SSH憑證。從詹金斯的credentials.xml提取密碼短語

不幸的是,我忘記了SSH密碼,現在想從詹金斯的憑證存檔中獲得它,它位於${JENKINS_HOME}/credentials.xml

該XML文檔似乎具有在XML標籤<passphrase><password>中加密的憑證。

如何檢索明文口令?

回答

46

通過訪問http(s)://${JENKINS_ADDRESS}/script打開Jenkins的安裝腳本控制檯。

在那裏,執行以下Groovy腳本:

println(hudson.util.Secret.decrypt("${ENCRYPTED_PASSPHRASE_OR_PASSWORD}")) 

其中${ENCRYPTED_PASSPHRASE_OR_PASSWORD}是你正在尋找的<password><passphrase> XML元素的加密內容。

+9

而爲了獲得'$ {ENCRYPTED_PASSPHRASE_OR_PASSWORD}'的密碼值:去憑證,更新,在瀏覽器的「查看源文件代碼」,你會得到的數據字段加密的密碼密碼。然後使用該功能。 – Keymon

+0

工程像一個魅力 –

2

如果您使用的是Jenkins Credential Binding Plugin,則可以將它寫入文件中。您不能只輸出到控制檯,因爲插件會將其輸出。

Credential Binding Plugin configuration to get password text on Windows

+0

或者,你可以以某種方式破解密碼,使插件不能****出來。例如。作爲unix shell命令:echo'$ PASS | sed -e's /./&-/ g'?'。 –