Plugin Jenkins git avec accès ssh à bitbucket: Autorisation refusée (clé publique). fatal: impossible de lire à partir du référentiel distant
Je ne peux pas obtenir Jenkins, git plugin d'authentification avec un privé repo git sur bitbucket.org. J'ai généré une clé privée /publique paire à l'aide de la commande ssh-keygen et définissez la clé publique dans mon bitbucket compte en vertu de clés ssh page de compte.
Dans le travail de configurer la page, j'ai mis le Code Source de Gestion de la section comme suit:
Repository URL: [email protected]:mproject.git (the SSH url for clone)
Credentials: The private key id_rsa generated by ssh-keygen (no passphrase) and user git.
Il donne immédiatement l'erreur suivante:
Failed to connect to repository : Command "git -c core.askpass=true ls-remote -h [email protected]:myproject.git HEAD" returned status code 128:
stdout:
stderr: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Quand je fais même commande git en ligne de commande dans le répertoire d'espace de travail dans un shell, il fonctionne très bien. J'ai mon ~/.bashrc spécifié dans l'Environnement de compilation /Propriétés Chemin d'accès au Fichier, donc je suis confus de ce que pourrait être différente lorsqu'il s'exécute dans le jenkins travail.
J'ai juste deux utilisateurs sur mon jenkins machine (jenkins et de la racine) et j'ai été l'exécution de la commande git en tant qu'utilisateur jenkins. Le répertoire home de l'utilisateur jenkins est /home/jenkins. Mon jenkins travail s'exécute en tant qu'utilisateur anonyme. Serait-ce la question?
J'ai le texte suivant .ssh fichiers:
-rw-r--r--. 1 jenkins jenkins 89 Apr 25 11:18 config
-rw-r--r--. 1 jenkins jenkins 137 Apr 24 13:56 environment
-rw-------. 1 jenkins jenkins 1766 Apr 24 13:54 id_rsa
-rw-r--r--. 1 jenkins jenkins 425 Apr 24 13:54 id_rsa.pub
-rw-r--r--. 1 jenkins jenkins 806 Apr 25 12:06 known_hosts
drwx------. 2 jenkins jenkins 85 Apr 25 12:05 .ssh
source d'informationauteur Farrukh Najmi
Vous devez vous connecter pour publier un commentaire.
Je soupçonne que vous avez ajouté des clés ssh pour l'utilisateur, pas à l'utilisateur jenkins.
Par défaut Jenkins à exécuter par l'utilisateur Jenkins, répertoire d'accueil (par défaut)
/var/lib/jenknis
.Pour vérifier mon hypothèse, veuillez vous connecter en tant qu'utilisateur jenkins:
et appel:
pour vérifier si il sera de retour une erreur.
Vous devriez avoir
/var/lib/jenknis/.ssh
répertoire qui contient la bonnessh
clés. Vous aurez besoin d'ajouterid_rsa.pub
à partir de ce répertoire à votre compte sur bitbucket.Suivant dans la configuration d'une tâche de juste mettre:
Décrit la configuration qui fonctionne pour mon Jenkins avec bitbucket.
Veuillez également vous assurer que .ssh répertoire a régler correctement l'accès aux droits. Ssh n'aime pas trop ouvrir les répertoires:
Dans mon cas, le problème avait quelque chose à voir avec le fait d'avoir jenkins utilisateur déjà créé avec la maison répertoire /home/jenkins et puis l'installation de jenkins en tant que root. Cela a pu créer une certaine confusion entre la maison du répertoire /var/lib/jenkins (comme c'est normal) et /home/jenkins. Le correctif a été:
Merci pour l'aide.
Dans mon cas, le problème a été la clé RSA de l'empreinte digitale. J'ai ajouté la clé ssh pour l'utilisateur Jenkins comme décrit dans la documentation mais j'ai reçu le même message d'erreur. Je l'ai résolu en vous connectant en tant que Jenkins utilisateur à l'aide de
Ensuite, j'ai tapé dans la suite de
Et j'ai obtenu le message suivant
En répondant " oui " à cette question, la Bitbucket serveur est ajouté à la liste des hôtes connus et qui a vraiment résolu mon problème.
pour ssh.bash