2016-06-07 15 views
19

Ho aggiunto una credenziale SSH a Jenkins.Estratto passphrase dalle credenziali di Jenkins. Xml

Purtroppo, ho dimenticato la passphrase SSH e ora vorrei ottenerla dall'archivio delle credenziali di Jenkins, che si trova a ${JENKINS_HOME}/credentials.xml.

Questo documento XML sembra avere le credenziali crittografate nei tag XML <passphrase> o <password>.

Come posso recuperare la passphrase in chiaro?

risposta

46

Aprire la console di script dell'installazione di Jenkins visitando http(s)://${JENKINS_ADDRESS}/script.

C'è, eseguire il seguente script Groovy:

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

dove ${ENCRYPTED_PASSPHRASE_OR_PASSWORD} è il contenuto criptato dell'elemento <password> o <passphrase> XML che si sta cercando.

+9

E al fine di ottenere il valore della password di '$ {ENCRYPTED_PASSPHRASE_OR_PASSWORD}': andare alle credenziali, aggiornamento, nel browser "Vedere il codice sorgente" e si otterrà la password crittografata nel campo dati per parola d'ordine. Quindi utilizzare quella funzione. – Keymon

+0

Funziona come un fascino –

2

Se si utilizza il Jenkins Credential Binding Plugin, è possibile farlo scrivere in un file la propria password. Non puoi semplicemente eseguire l'output sulla console, dato che il plug-in verrà disattivato.

Credential Binding Plugin configuration to get password text on Windows

+0

In alternativa, puoi in qualche modo manipolare la password, in modo che il plug-in non possa scusarlo. Per esempio. come comando shell unix: echo '$ PASS | sed -e 's /./&-/ g'? '. –