Je veux utiliser scp/ssh pour télécharger des fichiers sur un serveur. Je découvre que je dois utiliser l'authentification par certificat, mais la question est de savoir comment? Vraiment, ce que je veux faire, c'est utiliser le même type d'informations d'identification que j'utilise avec le certificat ssh avec mot de passe stocké dans Jenkins. Cependant, je ne peux pas savoir comment - le générateur d'extraits n'a pas d'option évidente pour cela.
Que font les autres? Y a-t-il une fonctionnalité non documentée qui ferait cela?
Si vous installez le plugin SSH Agent vous pouvez utiliser le ssh-agent
étape de pipeline pour exécuter un script Shell avec un agent ssh actif. Le ssh-agent
prend un identifiant Jenkins (un certificat ssh avec mot de passe, comme celui que vous avez pour git).
withCredentials([sshUserPrivateKey(credentialsId: "yourkeyid", keyFileVariable: 'keyfile')]) {
stage('scp-f/b') {
sh "scp -i ${keyfile} do sth here"
}
}
C'est peut-être ce que tu veux. Installer Credentials Plugin
etCredentials Binding Plugin
. Ajoutez des informations d'identification et vous obtiendrez "yourkeyid", liez ces informations d'identification à keyFileVariable, passwordVariable etc.
Plus de détails et de documentation peuvent être trouvés sur le site Github du plugin Jenkins Credentials Binding Plugin , Credentials Plugin , SSH Pipeline Steps plugin