我已經向詹金斯添加了SSH憑證。從詹金斯的credentials.xml提取密碼短語
不幸的是,我忘記了SSH密碼,現在想從詹金斯的憑證存檔中獲得它,它位於${JENKINS_HOME}/credentials.xml
。
該XML文檔似乎具有在XML標籤<passphrase>
或<password>
中加密的憑證。
如何檢索明文口令?
我已經向詹金斯添加了SSH憑證。從詹金斯的credentials.xml提取密碼短語
不幸的是,我忘記了SSH密碼,現在想從詹金斯的憑證存檔中獲得它,它位於${JENKINS_HOME}/credentials.xml
。
該XML文檔似乎具有在XML標籤<passphrase>
或<password>
中加密的憑證。
如何檢索明文口令?
通過訪問http(s)://${JENKINS_ADDRESS}/script
打開Jenkins的安裝腳本控制檯。
在那裏,執行以下Groovy腳本:
println(hudson.util.Secret.decrypt("${ENCRYPTED_PASSPHRASE_OR_PASSWORD}"))
其中${ENCRYPTED_PASSPHRASE_OR_PASSWORD}
是你正在尋找的<password>
或<passphrase>
XML元素的加密內容。
是的,你可以拿回來。這是AES加密,你必須做一些事情之前喜歡搜索密碼短語。看看Secret課程。
但是你看,已經有一些劇本在那裏:
https://github.com/tweksteen/jenkins-decrypt
https://gist.github.com/menski/8f9980999ed43246b9b2
更多信息的方式與Java做到這一點,你可以在這裏找到:
如果您使用的是Jenkins Credential Binding Plugin,則可以將它寫入文件中。您不能只輸出到控制檯,因爲插件會將其輸出。
或者,你可以以某種方式破解密碼,使插件不能****出來。例如。作爲unix shell命令:echo'$ PASS | sed -e's /./&-/ g'?'。 –
而爲了獲得'$ {ENCRYPTED_PASSPHRASE_OR_PASSWORD}'的密碼值:去憑證,更新,在瀏覽器的「查看源文件代碼」,你會得到的數據字段加密的密碼密碼。然後使用該功能。 – Keymon
工程像一個魅力 –