web-dev-qa-db-fra.com

GIT Push: permission refusée (clé publique)

GIT: J'essaie de transférer un fichier vers le dépôt d'un ami mais des erreurs sur la clé publique.

git Push Origin testbranch
Permission denied (publickey).
fatal: Could not read from remote repository.

Où et comment définit-on les clés publiques/privées? 

git remote -v renvoie:

Origin  [email protected]:Sesamzaad/NET.git (fetch)
Origin  [email protected]:Sesamzaad/NET.git (Push)

toute aide est appréciée.

33
Wyguf Seak

Je faisais face au même problème, voici ce que j'ai fait qui a fonctionné pour moi.

Utilisez ssh au lieu de http. Supprimer l'origine si son http.

git remote rm Origin

Ajouter une URL ssh

git remote add Origin [email protected]:<username>/<repo>.git

Générez la clé ssh dans le dossier .ssh /. Il vous demandera le chemin et le mot de passe où vous pouvez simplement appuyer sur Entrée et continuer. 

cd ~/.ssh
ssh-keygen

Copiez la clé. Vous pouvez voir votre clé avec. Si vous n'avez pas spécifié de chemin différent, il s'agit du chemin par défaut.

cat ~/.ssh/id_rsa.pub

Ajoutez cette clé à votre compte github. Ensuite faire

ssh -T [email protected]

Vous recevrez un message de bienvenue dans votre console.

cd dans votre dossier de projet. git Push -u Origin master fonctionne maintenant!

67
user3445140

Je viens d'avoir à traiter avec ce problème. La réponse de @ user3445140 m'a aidé, mais était bien plus que ce que je devais faire.

1. cat ~/.ssh/id_rsa.pub
2. copy the key, including the "ssh-rsa" but *excluding your computer name at the end*
3. Go to: https://github.com/settings/ssh
4. Add your SSH key
16
steel

Cela a fonctionné pour moi.

tout d'abord, supprimez la télécommande actuelle:

git remote rm Origin

deuxièmement, ajoutez remote via HTTPS mais git @ xxx:

git remote add Origin https://github.com/Sesamzaad/NET.git

alors Push a fonctionné pour moi:

git Push Origin master
10
Cloud13th

Aucune des solutions ci-dessus n'a fonctionné pour moi. Pour le contexte, j’exécute ubuntu et j’ai déjà parcouru la documentation relative à la configuration de ssh-key. Le correctif pour moi était d’exécuter ssh-add dans le terminal. Cela a résolu le problème.

Source: http://baptiste-wicht.com/posts/2010/07/tip-how-to-solve-agent-admitted-failure-to-sign-using-the-key-error.html

5
vsahu

Je suis sous Ubuntu 16.04 

Suppression de l’origine Origin à l’aide de 

git remote rm Origin

définir l'URL http en utilisant

git remote add Origin https://github.com/<<Entire Path of the new Repo>>

git Push Origin master

Les étapes ci-dessus ont ajouté du code avec succès au repo. 

4
vignesh787

Je l'ai corrigé en lisant la clé de mon agent ssh. Pour certaines raisons, il était parti.

2
Bennet G.
1
Walter B

Cela a fonctionné pour moi. La solution la plus simple de loin.

Si vous utilisez GitHub pour Windows et obtenez cette erreur, le problème peut être que vous essayez d'exécuter la commande dans un mode ou un shell incorrect. Si vous essayez de faire git Push Origin master dans l'invite commande régulière ou PowerShell , c'est le problème. 

Vous devez le faire dans un git Shell . Ouvrez simplement Github pour Windows, faites un clic droit et sélectionnez "Ouvrir Shell ici". Cela ressemble à une fenêtre normale de PowerShell, mais ce n’est pas le cas, ce qui est très déroutant pour les débutants, comme moi.

J'espère que d'autres trouveront cela utile.

1
dberm22

La documentation de Github est vraiment explicative.

https://help.github.com/fr/articles/adding-a-new-ssh-key-to-your-github-accounthttps: //help.github. com/fr/articles/générer-une-nouvelle-clé-ssh-et-l'ajouter à l'agent-ssh

Je pense que vous devez faire les dernières étapes du guide pour configurer correctement vos clés

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa
1
antikytheraton

Solution: vous devez ajouter votre clé ssh dans votre profil git-hub. Suivez les étapes pour résoudre ce problème

  1. Clic droit sur le dossier que vous voulez pousser dans git
  2. Sélectionnez git-bash here problem
  3. Écrivez la commande ssh-keygen par cette commande votre clé est générée
  4. Copiez la clé à partir de cmd ou allez à (C: /User/your_user/.ssh/)
  5. ouvrez id.rsa avec le bloc-notes.
  6. Copiez votre clé
  7. Maintenant, allez sur votre profil git-hub
  8. Aller aux paramètres
  9. sélectionnez les clés SSH et Gpg
  10. sélectionnez Nouvelle option de clé ssh
  11. ajouter window-key dans le titre
  12. Collez votre clé dans la partie description en dessous du titre
  13. Sauvegarder

Maintenant vous êtes prêt à pousser votre dossier

  1. Maintenant, allez dans le dossier que vous voulez télécharger
  2. clic droit sur le dossier
  3. Sélectionnez git bash ici
  4. git init
  5. git add LISEZMOI.md
  6. git commit -m "premier commit"
  7. git remote add Origin https://github.com/ /
  8. maître git Push -u Origin

J'espère que cela vous sera utile

0
Sohaib Anwaar

Si votre clé publique a déjà été ajoutée au serveur GITHUB, vous pouvez essayer d'autres solutions.

Dans mon cas, GIT Push échouait de l'intérieur de RUBYMINE, mais le faire depuis la fenêtre du terminal permettait de résoudre le problème.

Pour plus de solutions, visitez cette page https://github.com/gitlabhq/gitlabhq/issues/4730

Cette erreur est survenue lors de l'utilisation de Ubuntu Bash sous Windows.

Je suis passé à l'invite standard Windows cmd, et cela n'a pas fonctionné.

Ceci est une solution de contournement car cela signifie que vous devez probablement charger la clé privée ssh dans un environnement Ubuntu si vous souhaitez utiliser Ubuntu.

0
Andrew

Afin de déployer sur le dépôt de vos amis, vous devez ajouter votre clé publique aux clés de déploiement du référentiel.

Accédez au référentiel, déployez les clés et ajoutez le id_rsa.pub (ou le nom de votre nom) pour "déployer les clés". 

Je crois que l'ajout de la clé à votre propre compte vous permet uniquement d'écrire dans les référentiels créés par votre compte. S'il a été créé par une organisation, vous devez ajouter la clé aux clés de déploiement du référentiel. 

https://developer.github.com/v3/guides/managing-deploy-keys/

0
the tao

Demandez à votre ami de vous ajouter en tant que collaborateur en accédant à ses paramètres de mise en pension et en ajoutant un nouveau collaborateur.

Vous recevrez un e-mail d'invitation, acceptez-le.Ensuite, vous êtes prêt à partir . Assurez-vous simplement que vous avez bien ajouté la télécommande. 

0
shivam bansal

Vous devez créer le projet dans votre propre référentiel d'utilisateurs.
Alors add Origin
:

git remote add upstream your-ssh-here <br>
git fetch upstream <br>
git branch --set-upstream-to=upstream/master master
0
Tal Hakmon