216 votes

Obtenir l'autorisation refusée (clé publique) sur gitlab

Mon problème est que je ne peux pas pousser ou de chercher à partir de GitLab. Cependant, je peux clone (via HTTP ou via SSH). J'ai cette erreur quand j'essaie de faire :

Permission denied (publickey) fatale : impossible de lire à partir d'un dépôt distant

De tous les fils que j'ai regardé, voici ce que j'ai fait :

  • Configurer une clé SSH sur mon ordinateur et ajout de la clé publique de GitLab
  • Fait la config --global pour le nom d'utilisateur et e-mail
  • Cloné par SSH via HTTP pour vérifier si il permettrait de résoudre la question
  • Fait le ssh -T git@gitlab.com commande

Maintenant j'ai envie de frapper mon ordinateur. Si vous avez des idées sur la façon de résoudre mon problème, il serait grandement apprécié.

466voto

J'ai trouvé ce après avoir cherché beaucoup. Il fonctionnera parfaitement bien pour moi.

  1. Aller à "Git Bash" tout comme cmd. Clic droit et "Exécuter en tant qu'Administrateur".
  2. Type ssh-keygen
  3. Appuyez sur entrée.
  4. Il vous demande d'enregistrer la clé du répertoire spécifique.
  5. Appuyez sur entrée. Il vous invite à taper le mot de passe ou d'entrer sans mot de passe.
  6. La clé publique sera créé pour le répertoire spécifique.
  7. Maintenant, allez dans le répertoire et ouvrez .ssh le dossier.
  8. Vous verrez un fichier id_rsa.pub. L'ouvrir dans le bloc-notes. Copie tout le texte.
  9. Aller à https://gitlab.com/profile/keys .
  10. Coller ici dans la "clé" textfield.
  11. Maintenant, cliquez sur le Titre ci-dessous. Il sera automatiquement rempli.
  12. Puis cliquez sur "Ajouter une clé".

Maintenant, donner un coup de feu et il va travailler pour vous.

92voto

Fedo Peralta Points 423

Étape 1: Ajout d'un fichier de configuration dans le dossier ~ / .ssh / qui ressemble à

    User git
   Hostname gitlab.com
   IdentityFile ~/.ssh/id_rsa_gitlab
   TCPKeepAlive yes
   IdentitiesOnly yes
 

Étape 2: Il suffit de cloner le dépôt git SANS sudo.

43voto

Hussain Points 844

Je pense que la solution simple consiste à ajouter une clé privée à l'agent d'authentification (si votre clé n'est pas ~/.ssh/id_rsa ),

 ssh-add ~/.ssh/<your private key>
 

Vous laissez essentiellement les ssh-agent occuper.

De plus, vous pouvez l' ajouter définitivement .

17voto

rivanov Points 431

assurez-vous de ne pas utiliser sudo git clone git@gitlab.com:project/somethiing.git , sinon ssh regardera dans /root/.ssh au lieu de la clé que vous avez téléchargée ~/.ssh/id_rsa

7voto

skotperez Points 118

Dans mon cas, ce n'était pas un problème de gitlab, mais un problème de configuration sshd. Le serveur ssh n'autorisait pas la connexion, à l'exception d'une liste d'utilisateurs. L'utilisateur git, celui qui se connecte à distance à gitlab, ne figurait pas dans cette liste. Alors, vérifiez ceci avant toute autre chose.

Vous pouvez vérifier la configuration de votre serveur ssh dans /etc/ssh/sshd_config . Si vous avez une ligne avec l'option AllowUsers , ajoutez-y git:

 AllowUsers user1 user2 user3 git
 

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