55 votes

Utilisateur Jenkins sur l'installation d'Apt-Get Installation

Je viens d'installer Jenkins sur mon serveur Ubuntu via l'installation de debian suit (en utilisant apt-get install). Je veux que mon build pour le tirer d'un dépôt git sur GitHub. Avec ça, j'ai besoin d'utiliser un accès SSH pour me rendre à mon référentiel.

La plupart de mes résultats de la recherche ont juste dit de vous connecter en tant qu'utilisateur Jenkins et générer une clé SSH pour mon compte GitHub, mais l'installation via le gestionnaire de paquets debian, je n'ai pas de mot de passe pour l'utilisateur Jenkins.

Alors, comment puis-je générer une clé SSH de mon serveur Jenkins à utiliser?

94voto

neillb Points 1805

Je vais anticiper que de temps à autre, vous aurez envie d'être capable de se connecter en tant jenkins pour effectuer d'autres tâches, et donc je vais résoudre le problème plus général. Une stricte réponse à votre question est inclus à la fin.

Changement jenkins mot de passe sans le savoir

À partir d'un compte qui a sudo autorisations, vous pouvez réinitialiser jenkins mot de passe pour quelque chose de votre choix:

sudo passwd jenkins

Il peut vous être demandé d'abord pour votre propre mot de passe, afin d'utiliser sudo. Ensuite, vous serez invité à entrer le nouveau mot de passe à définir pour jenkins, et enfin une confirmation du nouveau mot de passe.

Si votre utilisateur avec les droits sudo est appelé joe, voici comment une session pourrait ressembler à:

joe $ sudo passwd jenkins
[sudo] password for joe:     **you enter joe's passwd**
Enter new UNIX password:     ** you enter new jenkins passwd**
Retype new UNIX password:    ** you enter new jenkins passwd**
passwd: password updated successfully

Alternative: connectez-vous en tant que jenkins sans son mot de passe

Sinon, encore une fois, en utilisant sudo adapté à partir d'un autre compte, vous pouvez vous connecter en tant que jenkins, sans qu'on lui demande son mot de passe:

sudo su - jenkins

D'un côté: Éviter l'invite de mot de passe de la confusion

Avant de délivrer sudo passwd jenkins, on peut tout d'abord s'authentifier séparément avec sudo pour éviter la confusion autour de la question "dont le mot de passe m'est demandé, maintenant?".

sudo -v
sudo passwd jenkins

Après une authentification réussie par sudo, il y a une fenêtre (par exemple, 15 minutes) où l'on ne sera pas invité à s'authentifier de nouveau. (Notez que vous pouvez immédiatement invalidate (tuer) cette séance, sudo -k, si vous voulez expérimenter.)

La promesse de la stricte réponse

sudo -u jenkins ssh-keygen

Puis utiliser cat pour afficher le contenu de la clé publique pour être passé à github (mais le chemin n'est qu'un exemple):

  sudo cat ~jenkins/.ssh/id_rsa.pub

L'emplacement exact et le nom du fichier de clé publique dépend de ce que vous avez saisi à l'invite de la commande ssh-keygen, ci-dessus. J'ai utilisé un raccourci vers jenkins home dir, ~jenkins.

Liens Connexes

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X