Nous souhaitons connecter VS Code à Github par SSH sur Mac Book Pro. Le compte github existe. Une adresse email sert d’identifiant github pour le compte. Nous souhaitons cloner dans un autre répertoire un dossier github d’un projet créé sur MacBookPro. Pour ce faire nous avons besoin de créer un accès ssh qui remplacera l’usuel user/pwd, pour notre identifiant de compte github.
Nous avons créer le même article pour Windows.
Tentative de clonage sur MacBookPro
Nous avons essayé de créer un autre dossier pour revenir en arrière sur notre projet développé sur MacBookPro. Dans VS Code nous avons choisi Fichier/Nouvelle Fenêtre.
Puis nous avons demander Clone Git Repository en donnant le chemin vers le projet sur github. Le lien est dans Code/Clone/SSH.
Nous avons une erreur de droit d’accès :
> git clone git@github.com:copier-coder/quickpress.git /Users/bertrandroussel/Documents/MacBookPro/Phoenix/Projets/quickpress --progress git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
Permission refusée par Github
Etapes pour résoudre le problème de permission refusée (publickey) grâce à ssh lorsque vous essayez de cloner dans vs-code un dépôt GitHub sur votre Mac Book Pro.
Vérification des clés SSH existantes
Avant tout, vérifiez si vous avez déjà des clés SSH générées sur votre machine. Ouvrez le Terminal et exécutez la commande suivante :
ls -al ~/.ssh
Si vous voyez des fichiers nommés id_rsa
et id_rsa.pub
, vous avez déjà une paire de clés SSH. Si ces fichiers n’existent pas, vous devrez en générer une nouvelle paire[10][11].
Génération d’une nouvelle paire de clés SSH
Pour générer une nouvelle paire de clés SSH, utilisez la commande suivante dans le Terminal :
ssh-keygen -t rsa -b 4096 -C "votre_email@example.com"
Lorsque vous y êtes invité, appuyez sur Entrée pour accepter l’emplacement par défaut du fichier. Vous pouvez également choisir de saisir une passphrase pour une sécurité supplémentaire, mais cela n’est pas obligatoire[10][11].
Ajout de votre clé SSH au ssh-agent
Après avoir généré vos clés SSH, vous devez les ajouter à l’agent SSH pour les gérer. Exécutez les commandes suivantes :
eval "$(ssh-agent -s)" ssh-add -K ~/.ssh/id_rsa
La commande ssh-add -K
ajoute votre clé privée SSH à l’agent SSH et stocke votre passphrase dans le trousseau si vous en avez défini une[12].
Ajout de la clé SSH à votre compte GitHub
Maintenant, vous devez ajouter la clé SSH publique à votre compte GitHub pour établir une connexion sécurisée.
- Ouvrez le fichier
id_rsa.pub
avec un éditeur de texte et copiez tout son contenu. - Allez sur GitHub et accédez à vos paramètres de compte.
- Recherchez la section « SSH and GPG keys » et cliquez sur « New SSH key ».
- Collez la clé SSH que vous avez copiée dans le champ « Key » et donnez-lui un titre descriptif.
- Cliquez sur « Add SSH key » pour enregistrer la nouvelle clé[4][12].
Vérification en dehors de VS-Code de la connexion SSH à GitHub sur Mac Book Pro
Pour tester si votre clé SSH fonctionne correctement, exécutez la commande suivante :
ssh -T git@github.com
Si tout est configuré correctement, vous devriez voir un message de bienvenue de GitHub[4][12].
Clonage du dépôt GitHub
Une fois que vous avez configuré votre clé SSH, essayez de cloner à nouveau le dépôt en utilisant la commande git clone
avec l’URL SSH du dépôt :
git clone git@github.com:copier-coder/quickpress.git /Users/bertrandroussel/Documents/MacBookPro/Phoenix/Projets/quickpress --progress
Si vous avez suivi toutes les étapes correctement, le clonage devrait se faire sans erreur de permission[4][10][11][12].
Résolution des problèmes
Si vous rencontrez toujours des problèmes, assurez-vous que :
- La clé SSH que vous avez ajoutée à GitHub correspond à celle que vous avez générée sur votre MacBook Pro.
- Vous avez les droits d’accès nécessaires pour le dépôt que vous essayez de cloner.
- L’URL SSH du dépôt est correcte et que le dépôt existe bien sur GitHub[4][7][8].
En suivant ces instructions, vous devriez être en mesure de résoudre l’erreur de permission et de cloner avec succès le dépôt sur votre MacBook Pro.
Citations:
[1] https://stackoverflow.com/questions/2643502/git-how-to-solve-permission-denied-publickey-error-when-using-git
[2] https://marco.maranao.ca/articles/clone-github-repository-different-user
[3] https://stackoverflow.com/questions/39644366/git-clone-with-different-username-account
[4] https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/Fix-GitHubs-Permission-denied-publickey-SSH-error
[5] https://docs.github.com/en/get-started/getting-started-with-git/updating-credentials-from-the-macos-keychain
[6] https://statistics.berkeley.edu/computing/faqs/git-auth
[7] https://1password.community/discussion/139786/permission-denied-publickey-macos-12-5-1-github
[8] https://confluence.atlassian.com/bbkb/permission-denied-publickey-302811860.html
[9] https://www.reddit.com/r/git/comments/xykwrm/noob_question_how_do_i_stop_git_push_from_asking/
[10] https://gist.github.com/adamjohnson/5682757?permalink_comment_id=3412163
[11] https://gist.github.com/adamjohnson/5682757
[12] https://docs.github.com/en/authentication/troubleshooting-ssh/error-permission-denied-publickey
[13] https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html
[14] https://github.com/orgs/community/discussions/44740
[15] https://superuser.com/questions/1749364/git-ssh-permission-denied-in-macos-13-ventura
[16] https://www.youtube.com/watch?v=Irj-2tmV0JM
[17] https://www.youtube.com/watch?v=TviP5rCZiy0
[18] https://developercommunity.visualstudio.com/content/problem/130774/cant-git-clone-remote-repository-with-correct-user.html
Etape 1 : Vérification des clés existantes
Première étape, vérifier si nous avons des clés existantes. Le résultat est le suivant :
$ ls -al ~/.ssh total 24 drwx------ 5 bertrandroussel staff 160 2 avr 15:33 . drwxr-x---+ 35 bertrandroussel staff 1120 17 avr 11:54 .. -rw------- 1 bertrandroussel staff 432 2 avr 15:33 id_ed25519 -rw-r--r-- 1 bertrandroussel staff 114 2 avr 15:33 id_ed25519.pub -rw-r--r-- 1 bertrandroussel staff 92 2 avr 14:41 known_hosts $
L’analyse du résultat :
D’après le retour de la commande ls -al ~/.ssh
, vous avez déjà une paire de clés SSH dans votre répertoire .ssh
. La clé privée est nommée id_ed25519
et la clé publique correspondante est id_ed25519.pub
. La présence de ces fichiers indique que vous n’avez pas besoin de générer une nouvelle paire de clés SSH, sauf si vous souhaitez en créer une spécifiquement pour un autre usage.
Ajout de la clé publique à votre compte GitHub
Pour résoudre l’erreur de permission refusée (publickey) que vous rencontrez lors du clonage du dépôt, vous devez vous assurer que votre clé publique SSH est ajoutée à votre compte GitHub. Voici les étapes à suivre :
- Ouvrez le fichier
id_ed25519.pub
avec un éditeur de texte ou utilisez la commande suivante pour afficher son contenu dans le terminal :
cat ~/.ssh/id_ed25519.pub
- Copiez tout le contenu de votre clé publique.
- Connectez-vous à votre compte GitHub dans un navigateur web.
- Allez dans les paramètres (Settings) de votre compte GitHub, puis dans la section « SSH and GPG keys ».
- Cliquez sur « New SSH key » ou « Add SSH key ».
- Dans le champ « Title », donnez un titre descriptif à votre clé (par exemple, « MacBook Pro »).
- Dans le champ « Key », collez le contenu de votre clé publique SSH.
- Cliquez sur « Add SSH key » pour enregistrer la clé[1][7][9].
Vérification de la connexion SSH à GitHub
Après avoir ajouté votre clé publique à GitHub, vous devriez vérifier que la connexion SSH fonctionne correctement :
ssh -T git@github.com
Si la connexion est établie avec succès, vous verrez un message de bienvenue de GitHub indiquant que vous avez été authentifié[5][6].
Résultat :
$ ssh -T git@github.com Hi copier-coder! You've successfully authenticated, but GitHub does not provide shell access. $
Clonage du dépôt GitHub
Maintenant que votre clé SSH est ajoutée à votre compte GitHub, essayez de cloner à nouveau le dépôt en utilisant la commande git clone
avec l’URL SSH du dépôt :
git clone git@github.com:copier-coder/quickpress.git /Users/bertrandroussel/Documents/MacBookPro/Phoenix/Projets/quickpress --progress
Si vous avez suivi toutes les étapes correctement, le clonage devrait se faire sans erreur de permission[1][7][9].
Clonage par VS Code d’un projet Github grâce SSH sur Mac Book Pro
Dans VS Code choisissez Fichier/Nouvelle Fenêtre, afin de créer une nouvelle fenêtre de VS-Code pour utiliser le projet à cloner.
L’action Clone Git Repository demande le chemin vers le projet sur github. Le lien est dans Code/Clone/SSH : git@github.com:copier-coder/quickpress.git
VS-Code propose de choisir un répertoire de destination puis ouvre le projet.
Résolution des problèmes de connection VS Code à Github par SSH sur Mac Book Pro
Si vous rencontrez toujours des problèmes après avoir suivi ces étapes, assurez-vous que :
- Vous avez ajouté la bonne clé publique à votre compte GitHub.
- Vous avez les droits d’accès nécessaires pour le dépôt que vous essayez de cloner.
- L’URL SSH du dépôt est correcte et que le dépôt existe bien sur GitHub[5][6][7].
En suivant ces instructions, vous devriez être en mesure de résoudre l’erreur de permission et de cloner avec succès le dépôt sur votre MacBook Pro.
Citations:
[1] https://kinsta.com/fr/blog/generer-cles-ssh-github/
[2] https://jumpcloud.com/fr/blog/what-are-ssh-keys
[3] https://git-scm.com/book/fr/v2/Git-sur-le-serveur-G%C3%A9n%C3%A9ration-des-cl%C3%A9s-publiques-SSH
[4] https://www.hostinger.fr/tutoriels/generer-cle-ssh
[5] https://docs.github.com/fr/authentication/troubleshooting-ssh/error-permission-denied-publickey
[6] https://docs.github.com/fr/enterprise-cloud%40latest/authentication/troubleshooting-ssh/error-permission-denied-publickey
[7] https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account
[8] https://www.ionos.fr/digitalguide/sites-internet/developpement-web/ssh-key-avec-github/
[9] https://docs.github.com/fr/authentication/connecting-to-github-with-ssh/about-ssh
[10] https://www.ohmymac.fr/creer-cle-ssh-identifier-facon-securisee-mac/
[11] https://www.brunoantunes.fr/newsroom/permission-denied-publickey-git-solution/
[12] https://docs.github.com/fr/authentication/connecting-to-github-with-ssh/managing-deploy-keys
[13] https://docs.github.com/fr/authentication/troubleshooting-ssh/recovering-your-ssh-key-passphrase
[14] https://www.adrienfuret.fr/2017/01/30/macos-chiffrer-mails-gpg/
[15] http://eole.ac-dijon.fr/documentations/2.5/partielles/PDF/ModuleHorus.pdf
[16] https://www.aquaray.com/blog/articles/comment-generer-une-cle-SSH
[17] https://docs.github.com/fr/authentication/managing-commit-signature-verification/generating-a-new-gpg-key
[18] https://fr.wikibooks.org/wiki/Git/Version_imprimable
[19] https://docs.github.com/fr/enterprise-cloud%40latest/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account
[20] https://www.ibm.com/docs/fr/cognos-analytics/12.0.0?topic=content-generating-ssh-keys-linux-mac
Conclusion : VS Code se connecte à Github par SSH sur Mac
Le projet est créé dans VS Code sur MacBookPro. La clé était déjà active ce qui a simplifier les étapes réalisées dans ce document. Github demande une double authentification afin de protéger les dossiers privés lors de l’ajoute de la clé ssh dans le dossier SSH and GPG keys.