Vérifier le dépôt distant et le protocole
Exécutez la commande dans le dépôt. Une URL HTTPS utilise des identifiants HTTPS ; corriger une clé SSH ne change pas cette connexion. Une URL SSH GitHub commence généralement par git@github.com:.
git remote -vSur github.com, l’utilisateur SSH est git, pas votre nom de compte. Vérifiez le propriétaire et le nom du dépôt avant de modifier l’URL. Changer de protocole peut masquer le problème initial.
Vérifier les clés disponibles dans l’agent
Listez les identités disponibles dans votre agent SSH actuel. Une absence d’identités diffère d’un agent inaccessible. La configuration dépend du système et du terminal.
ssh-add -lSi votre clé existante n’est pas chargée, ajoutez son véritable chemin, par exemple ssh-add ~/.ssh/id_ed25519. Enregistrez la clé publique .pub correspondante dans le bon compte GitHub. Gardez la clé privée sur votre appareil et ne la collez pas dans un site.
Tester l’authentification GitHub
Avant d’accepter une nouvelle clé d’hôte, comparez son empreinte aux empreintes SSH publiées par GitHub, accessibles dans le guide officiel ci-dessous. Lancez ensuite le test.
ssh -T git@github.comLe message de réussite GitHub nomme votre compte et précise que l’accès shell n’est pas fourni. Ce test réussi se termine normalement avec le code 1. En cas d’échec, ssh -vT git@github.com montre les identités proposées. Exécuter Git avec sudo peut sélectionner les clés d’un autre utilisateur.
Distinguer authentification et accès au dépôt
Après un test SSH réussi, vérifiez la lecture du dépôt. Cette commande liste les références distantes sans modifier les branches locales.
git ls-remote originLe compte authentifié doit aussi disposer de l’accès au dépôt. Vérifiez l’URL, l’appartenance à l’organisation et toute autorisation SSO nécessaire. Une deploy key peut être limitée à un seul dépôt. Si aucune clé n’existe, suivez le guide du fournisseur sans écraser une clé existante.