Jenkins nécessite un certificat pour utiliser les commandes ssh publication et ssh. Il peut être configuré sous "manage jenkins" -> "Configure System"-> "publish over ssh"
.
La question est: comment créer les certificats?
J'ai deux serveurs Ubuntu, l'un qui exécute Jenkins et l'autre pour exécuter l'application.
Dois-je configurer un certificat Jenkins et en mettre une partie sur la boîte de déploiement ou un certificat sur la boîte de déploiement et en mettre une partie sur Jenkins? Le certificat doit-il être au nom d'un utilisateur appelé Jenkins ou peut-il l'être pour un utilisateur quelconque? Nous n'avons pas d'utilisateur Jenkins sur la boîte de développement.
Je sais qu'il existe un certain nombre de types ssh incompatibles, ce qui est requis par Jenkins?
Quelqu'un a-t-il trouvé un guide sur la manière de tout configurer (comment générer des clés, où les placer, etc.)?
Vous devrez créer une clé publique/privée en tant qu'utilisateur Jenkins sur votre serveur Jenkins, puis copier la clé publique sur l'utilisateur avec lequel vous souhaitez effectuer le déploiement sur votre serveur cible.
Étape 1, générer les clés publique et privée sur le serveur de génération en tant qu'utilisateur jenkins
build1:~ jenkins$ whoami
jenkins
build1:~ jenkins$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa):
Created directory '/var/lib/jenkins/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /var/lib/jenkins/.ssh/id_rsa.
Your public key has been saved in /var/lib/jenkins/.ssh/id_rsa.pub.
The key fingerprint is:
[...]
The key's randomart image is:
[...]
build1:~ jenkins$ ls -l .ssh
total 2
-rw------- 1 jenkins jenkins 1679 Feb 28 11:55 id_rsa
-rw-r--r-- 1 jenkins jenkins 411 Feb 28 11:55 id_rsa.pub
build1:~ jenkins$ cat .ssh/id_rsa.pub
ssh-rsa AAAlskdjfalskdfjaslkdjf... [email protected]
Étape 2, collez le contenu du fichier pub sur le serveur cible.
target:~ bob$ cd .ssh
target:~ bob$ vi authorized_keys (paste in the stuff which was output above.)
Assurez-vous que votre répertoire .ssh dispose des autorisations de sortie 700 et que votre fichier authorised_keys est autorisé.
Étape 3, configurez Jenkins
Pour les fenêtres:
$ ssh-keygen -t rsa -b 4096 -C [email protected]