VS-Code et Github par SSH sur Mac

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.

  1. Ouvrez le fichier id_rsa.pub avec un éditeur de texte et copiez tout son contenu.
  2. Allez sur GitHub et accédez à vos paramètres de compte.
  3. Recherchez la section « SSH and GPG keys » et cliquez sur « New SSH key ».
  4. Collez la clé SSH que vous avez copiée dans le champ « Key » et donnez-lui un titre descriptif.
  5. 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 :

  1. 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
  1. Copiez tout le contenu de votre clé publique.
  2. Connectez-vous à votre compte GitHub dans un navigateur web.
  3. Allez dans les paramètres (Settings) de votre compte GitHub, puis dans la section « SSH and GPG keys ».
  4. Cliquez sur « New SSH key » ou « Add SSH key ».
  5. Dans le champ « Title », donnez un titre descriptif à votre clé (par exemple, « MacBook Pro »).
  6. Dans le champ « Key », collez le contenu de votre clé publique SSH.
  7. 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.

Si vous avez aimé l'article vous êtes libre de le partager :-)

Laisser un commentaire