Je suis sur Mac Snow Leopard et je viens d'installer git
.
J'ai juste essayé
git clone [email protected]:cakebook.git
mais cela me donne cette erreur:
Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/`
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Qu'est-ce que je rate?
J'ai également essayé de le faire ssh-keygen
sans phase de passage mais toujours avec la même erreur.
git
ssh
ssh-keys
public-key
teepusink
la source
la source
sudo
- c'est un autre utilisateur avec une autre clé publique.ssh-keygen
utilitaire. La suppression de l'ancienne clé publique dans les paramètres personnels sur github et l'ajout de ma clé id_rsa.pub générée par ssh aux clés SSH et GPG a résolu les problèmes d'autorisation de clonage.Réponses:
Si l'utilisateur n'a pas généré de paire de clés publique / privée ssh avant
Ces informations fonctionnent sur theChaw mais peuvent être appliquées à tous les autres référentiels git qui prennent en charge les authentifications de clé publique SSH. (Voir gitolite , gitlab ou github par exemple.)
Pour plus d'informations, rendez-vous sur https://help.github.com/articles/generating-ssh-keys (merci à @Lee Whitney) -
Si l'utilisateur a généré une paire de clés publique / privée ssh avant
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
la source
ssh-add ~/.ssh/id_rsa
.xclip
de Linux n'a fonctionné qu'en procédant comme suitxclip -sel clip < ~/.ssh/id_rsa.pub
: help.github.com/articles/generating-ssh-keysUn dépannage plus étendu et même une réparation automatisée peuvent être effectués avec:
Source: https://help.github.com/articles/error-permission-denied-publickey/
la source
Cette erreur peut se produire lorsque vous accédez à l'URL SSH (lecture / écriture) au lieu de l'URL en lecture seule Git mais que vous n'avez aucun accès en écriture à ce référentiel.
Parfois, vous voulez simplement cloner votre propre référentiel, par exemple déployer sur un serveur. Dans ce cas, vous n'avez en fait besoin que d'un accès en lecture seule. Mais comme c'est votre propre dépôt, GitHub peut afficher l'URL SSH si c'est votre préférence. Dans cette situation, si la clé publique de votre hôte distant n'est pas dans vos clés SSH GitHub, votre accès sera refusé, ce qui devrait se produire .
Un cas équivalent est lorsque vous essayez de cloner le référentiel de quelqu'un d'autre auquel vous n'avez aucun accès en écriture avec l'URL SSH.
En un mot, si votre intention est de cloner uniquement un dépôt, utilisez l'URL HTTPS (
https://github.com/{user_name}/{project_name}.git
) au lieu de l'URL SSH ([email protected]:{user_name}/{project_name}.git
), ce qui évite la validation de clé publique (inutile).Mise à jour: GitHub affiche maintenant HTTPS comme protocole par défaut et cette décision peut probablement réduire la mauvaise utilisation possible des URL SSH.
la source
https://github.com
url de git, ça dit toujoursSSL certificate problem: self signed certificate in certificate chain
.git -c http.sslVerify=false clone ...
semble être un mouvement dangereux. Chrome ne donne cependant aucun avertissement SSL. Pensées?git clone https://github.com/MyUserName/MyRepo.git
Cliquez simplement sur les liens de texte sous l'URL du dépôt à droite de la page Github où il est dit " Vous pouvez cloner avec HTTPS, SSH ou Subversion . ". (Cliquez sur HTTPS pour obtenir le lien au lieu du SSH par défaut .)Le lien d' aide de github m'a aidé à résoudre ce problème. Il semble que la clé ssh n'ait pas été ajoutée à l'agent ssh. C'est ce que j'ai fini par faire.
Commande 1:
Assurez-vous que ssh-agent est activé. La commande démarre l'agent ssh en arrière-plan:
Commande 2:
Ajoutez votre clé SSH à l'agent ssh:
la source
J'ai le même rapport d'erreur.
Correction de l'utilisation de HTTP à la place. Puisque je ne veux pas définir de "clés SSH" pour un PC de test.
Modifiez l'URL en HTTP lors du clonage:
Mon problème est un peu différent : j'ai une URL définie lors de l'ajout d'un référentiel local existant à distance, en utilisant:
Pour le corriger, réinitialisez l'URL sur HTTP:
BTW, vous pouvez vérifier votre URL en utilisant la commande:
J'espère que cela aidera quelqu'un comme moi. :RÉ
la source
Cela fonctionne pour moi:
la source
Notez que (au moins pour certains projets) vous devez avoir un compte github avec une clé ssh .
Regardez les clés répertoriées dans votre agent d'authentification ( ssh-add -l )
(si vous n'en voyez pas, ajoutez une de vos clés existantes avec ssh-add / chemin / à / votre / clé (par exemple: ssh-add ~ /.ssh/id_rsa ))
(si vous n'avez pas de clés, créez d'abord une. Voir: http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/internet/node31.html ou simplement google ssh-keygen)
Pour vérifier que vous avez une clé associée à votre compte github :
Accédez à: https://github.com/settings/ssh
Vous devriez voir au moins une clé avec une clé de hachage correspondant à l'un des hachages que vous avez vu lorsque vous avez tapé ssh-add -l il y a une minute.
Si ce n'est pas le cas, ajoutez-en un, puis réessayez.
la source
Je me débattais avec le même problème, c'est ce que j'ai fait et j'ai pu cloner le dépôt. J'ai suivi cette procédure pour iMac .
Première étape: vérifier si nous avons déjà la clé SSH publique.
ls -al ~/.ssh
pour voir si des clés SSH existantes sont présentes:Vérifiez la liste des répertoires pour voir si vous possédez déjà une clé SSH publique.
Si vous ne trouvez pas, passez à l'étape 2 sinon suivez l'étape 3
Étape 2: génération de la clé SSH publique
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Generating public/private rsa key pair
. Lorsqu'il vous invite à"Enter a file in which to save the key,"
appuyer sur Entrée. Cela accepte l'emplacement de fichier par défaut. Lorsqu'il vous invite àEnter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
appuyer à nouveau sur Entrée. À l'invite, saisissez une phrase secrète sécurisée.Enter passphrase (empty for no passphrase): [Type a passphrase]
appuyez sur entrée si vous ne voulez pasEnter same passphrase again: [Type passphrase again]
appuyer à nouveau sur entréeCela va générer
id_rsa.pub
Étape 3: ajout de votre clé SSH à l'agent ssh
eval "$(ssh-agent -s)"
$ ssh-add -K ~/.ssh/id_rsa
Maintenant, copiez la clé SSH et ajoutez-la également à votre compte github
pbcopy < ~/.ssh/id_rsa.pub
Cela copiera le fichier dans votre presse-papiers Ouvrez maintenant votre compte github Allez dans Paramètres> Clés SSH et GPG> Nouvelle clé SSH Entrez le titre et collez la clé du presse-papiers et enregistrez-la. Voila vous avez terminé.la source
J'ai eu une situation légèrement différente, j'étais connecté à un serveur distant et j'utilisais git sur le serveur, lorsque j'ai exécuté une commande git, j'ai reçu le même message
J'ai résolu le problème en modifiant le fichier / etc / ssh_config sur mon Mac. de
à
la source
config.ssh.forward_agent = true
, redémarrage de la machine virtuelle et maintenant cela fonctionne.J'ai rencontré le même problème car je pensais que la différence entre SSH et HTTPS est
https://github.com/USERNAME/REPOSITORY.git
ssh://github.com/USERNAME/REPOSITORY.git
J'ai donc changé de HTTPS à SSH juste en changeant
https://
enssh://
rien à la fin de l'URL a été changé.Mais la vérité est:
Ce qui signifie que j'ai changé
ssh://github.com/USERNAME/REPOSITORY.git
pour[email protected]:USERNAME/REPOSITORY.git
ça marche.Erreur stupide mais l'espoir aide quelqu'un!
la source
ssh://github.com/USERNAME/REPOSITORY.git
pour que[email protected]:USERNAME/REPOSITORY.git
ça marche.ssh
au lieu dehttps
donc j'ai juste changé 'https: //' en 'ssh: // `puis j'ai eu l'erreur. Alors changez 'ssh: // git /../ `en' git @ .. /":) Modifié ma réponse.Sous Windows, assurez-vous que toutes vos applications sont d'accord sur HOME. Msys ne le fera étonnamment PAS pour vous. J'ai dû définir une variable d'environnement car ssh et git ne semblaient pas être d'accord sur l'emplacement de mon répertoire .ssh.
la source
Êtes-vous dans un environnement d'entreprise ? Est-il possible que vos variables système aient récemment changé? Selon cette réponse SO, les clés ssh vivent à
%HOMEDRIVE%%HOMEPATH%\.ssh\id_rsa.pub
. Donc, si%HOMEDRIVE%
récemment modifié, git ne sait pas où chercher votre clé, et donc toutes les informations d'authentification.Essayez de courir
ssh -vT [email protected]
. Prenez note de l'emplacement duidentity file
. Pour moi, cela ne pointait pas vers mon\Users\MyLogin
lecteur normal mais plutôt vers un lecteur réseau, en raison d'un changement des variables d'environnement poussées au niveau du réseau.La solution? Étant donné que mon nouveau
%HOMEDRIVE%
fichier dispose des mêmes autorisations que mes fichiers locaux, je viens d'y déplacer mon dossier .ssh et de l'appeler un jour.la source
Les gars, voici comment cela a fonctionné pour moi:
Remarque : Vous ne devez pas utiliser la commande sudo avec Git. Si vous avez une très bonne raison pour laquelle vous devez utiliser sudo, assurez-vous de l'utiliser avec chaque commande (il est probablement préférable d'utiliser su pour obtenir un shell en tant que root à ce stade). Si vous générez des clés SSH sans sudo et essayez ensuite d'utiliser une commande comme sudo git push, vous n'utiliserez pas les mêmes clés que vous avez générées
la source
Les instructions GIT de base ne faisaient pas référence aux éléments de clé SSH. En suivant certains des liens ci-dessus, j'ai trouvé une page d'aide git qui explique, étape par étape, exactement comment faire cela pour différents systèmes d'exploitation (le lien détectera votre système d'exploitation et redirigera, en conséquence):
http://help.github.com/set-up-git-redirect/
Il passe en revue tout ce qui est nécessaire pour GITHub et donne également des explications détaillées telles que «pourquoi ajouter une phrase secrète lors de la création d'une clé RSA». J'ai pensé que je le posterais, au cas où ça aiderait quelqu'un d'autre ...
la source
L'un des moyens les plus simples
allez au terminal-
la source
En plus de la réponse de Rufinus, le raccourci pour copier votre clé ssh dans le presse-papiers de Windows est:
type id_rsa.pub | clip
Réfs:
la source
Si vous avez plusieurs clés, vous devrez peut-être le faire
ssh-add private-keyfile
la source
J'ai rencontré cette erreur car je devais donner à mon répertoire de travail actuel les autorisations 700:
la source
J'ai dû copier mes clés ssh dans le dossier racine. Google Cloud Compute Engine exécutant Ubuntu 18.04
la source
Je viens de rencontrer ce problème lors de la configuration de mon projet actuel et aucune des solutions ci-dessus ne fonctionne. j'ai donc essayé de regarder ce qui se passe réellement sur la liste de débogage en utilisant la commande ssh -vT [email protected]. Je remarque que mon nom de fichier de clé privée n'est pas sur la liste. donc renommer le nom de fichier de la clé privée en 'id_rsa' fait le travail. j'espère que cela pourrait aider.
la source
C'est assez simple. Tapez la commande ci-dessous
Générez la clé SSH. Ouvrez le fichier et copiez le contenu. Accédez à la page de configuration de GitHub et cliquez sur la clé SSH. Cliquez sur Ajouter une nouvelle clé SSH et collez le contenu ici. Voilà :) Vous ne devriez pas revoir le problème.
la source
J'obtenais une erreur d'autorisation similaire refusée (publickey) lorsque j'essayais d'exécuter un makefile.
Comme alternative aux étapes SSH ci-dessus, vous pouvez installer l'application native GitHub pour Mac.
Cliquez sur Télécharger GitHub pour Mac à partir de - https://help.github.com/articles/set-up-git#platform-mac
Une fois la configuration terminée avec votre compte git hub (j'ai également installé les outils de ligne de commande git hub mais je ne sais pas si cette étape est requise ou non), j'ai reçu un e-mail -
[GitHub] Une nouvelle clé publique a été ajoutée à votre compte
et mon erreur a été corrigée.
la source
J'obtenais la même erreur. Mon problème était de mixer dans sudo.
Je ne pouvais pas créer le répertoire dans lequel je clonais automatiquement sans préfixer la commande git clone avec sudo. Quand je l'ai fait, cependant, mes clés ssh n'étaient pas correctement référencées.
Pour le corriger, j'ai défini des autorisations via chmod sur le répertoire parent que je voulais contenir mon clone afin que je puisse y écrire. Ensuite, j'ai exécuté git clone SANS préfixe sudo. Cela a ensuite fonctionné! J'ai changé les autorisations après cela. Terminé.
la source
J'obtenais cette erreur car j'ai généré les clés ssh avec le mauvais e-mail. J'ai pu me connecter en utilisant ssh, mais pas en utilisant git. La solution était de régénérer les clés en utilisant l'adresse e-mail principale de mon compte github.
la source
Ça a marché pour moi.
Votre clé publique est enregistrée dans le fichier id_rsa.pub; et est la clé que vous téléchargez sur votre compte. Vous pouvez enregistrer cette clé dans le presse-papiers en exécutant ceci:
la source
Ça a marché pour moi
la source
La solution la plus simple à cela, lorsque vous essayez de pousser vers un référentiel avec un nom d'utilisateur différent est:
la source
Cette étrange erreur, dans mon cas, était un symptôme de
gnome-keyring-daemon
dénomination incorrecte de la clé à laquelle il fallait un mot de passe.J'ai suivi les étapes décrites ici et saisi le mot de passe via le terminal. L'erreur, alias l'interface graphique confondante, a été résolue. Voir: /ubuntu/3045/how-to-disable-gnome-keyring
la source
Dans mon cas, j'ai réinstallé ubuntu et le nom d'utilisateur est modifié par rapport au précédent. Dans ce cas, la clé ssh générée diffère également de la précédente.
Le problème résolu en copiant simplement la clé publique ssh actuelle, dans le référentiel. La clé sera disponible dans votre utilisateur
/home/.ssh/id_rsa.pub
la source
Dans mon MAC, j'ai résolu cela avec:
Pour une raison quelconque, mon git s'est arrêté pour trouver la clé privée dans le
github_rsa
fichier. Cela s'est produit dans un dépôt spécifique. Je veux dire que dans d'autres dépôts git a continué à fonctionner normalement.Je pense que c'est un bug.
Je pourrais trouver ce comportement en cours d'exécution
ssh -vT [email protected]
la source