github: Aucune méthode d’authentification prise en charge disponible

J’utilise github et j’ai ajouté et synchronisé avec succès des fichiers sur mon ordinateur portable dans le passé.

comme récemment je commençais à avoir ” PuTTY Fatal Error: Disconnected: Aucune méthode d’authentification supscope disponible après l’exécution:

git pull origine master (ou push)

toutefois

ssh git@github.com renvoie la réponse correcte: ERREUR: Salut le nom d’utilisateur! Vous vous êtes authentifié avec succès, mais GitHub ne fournit pas d’access au shell. La connexion à github.com est fermée.

après avoir fouillé sur github j’ai trouvé ce morcel:

Aucune méthode d’authentification prise en charge disponible Vous devez connaître la variable d’environnement GIT_SSH, utilisée par git pour rechercher votre client parlant ssh, si ssh ne fonctionne pas pour vous. L’installation de git peut utiliser plink.exe (via GIT_SSH) pour effectuer l’authentification. Si c’est le cas, assurez-vous que pageant.exe est en cours d’exécution et que la clé que vous avez créée pour github y est chargée. Cela fournit la clé de plink.exe; sans elle, l’erreur ci-dessus se produira.

pas sûr de ce que plink.exe ou peagant.exe est .. et le fait que ssh git@github.com semble s’authentifier correctement me demande quelle est la meilleure solution ici .. je ne veux certainement pas compliquer ma configuration si ce n’est pas nécessaire.

Utiliser TortoiseGit

Définissez TortoiseGit> Paramètres> Réseau> Client SSH sur C:\Program Files (x86)\Git\bin\ssh.exe ou C:\Program Files\Git\usr\bin\ssh.exe

tortoisegit

“… pas sûr de ce que plink.exe ou peagant.exe est …”

Puisque vous demandez: plink & pageant font partie de la suite PuTTY, qui est une implémentation de SSH qui supporte Linux et Windows et qui est complètement dominante sous Windows.

SSH

Secure Shell (SSH) est un protocole de réseau cryptographique permettant de sécuriser la communication de données. Il établit un canal sécurisé sur un réseau non sécurisé dans une architecture client-serveur, connectant une application client SSH à un serveur SSH. Les applications courantes incluent la connexion à la ligne de commande à distance, l’exécution de commandes à distance, mais tout service réseau peut être sécurisé avec SSH.

Si vous avez déjà utilisé Telnet, c’est comme ça (mais plus sécurisé): cela vous permet d’accéder à distance au shell bash (ligne de commande) d’un hôte Linux.

Mastic

PuTTY est un émulateur de terminal gratuit et open source, une console série et une application de transfert de fichiers réseau. Il supporte plusieurs protocoles réseau, dont SCP, SSH, Telnet, rlogin …

Sous Windows, c’est le logiciel dominant pour accéder à distance à la ligne de commande d’un hôte Linux sous le protocole SSH (ci-dessus). Sous Windows, les extensions .exe sont destinées aux exécutables. Donc, ces notes sur plink.exe & pageant.exe ne s’appliquent probablement pas si vous êtes sous Linux . Mastic comprend

Plink : une interface de ligne de commande pour les back-ends de PuTTY

Pageant : un agent d’authentification SSH pour PuTTY, PSCP et Plink

De ( http://en.wikipedia.org/wiki/Secure_Shell#Key_management )

Lorsque la clé publique est présente à l’extrémité distante et que la clé privée correspondante est présente à l’extrémité locale, la saisie du mot de passe n’est plus nécessaire … pour plus de sécurité, la clé privée elle-même peut être verrouillée avec une phrase secrète.

Donc, github est hébergé sur une machine Linux et utilise SSH pour sécuriser la connexion. SSH s’authentifie avec des mots de passe ou des clés, de nombreux hôtes (github?) S’authentifient uniquement avec des clés. Votre configuration tente apparemment de s’authentifier avec une clé. Les clés et les hôtes ne sont pas un-pour-un: vous pouvez avoir deux clés pour le même hôte et / ou deux hôtes pour la même clé. Vous devez donc les gérer. Si vous êtes sous Windows, votre session SSH est probablement accessible via plink et vos clés sont probablement gérées par Pageant.

Importez la clé dont vous avez besoin chaque fois que vous chargez Pageant. Si vous avez suivi des guides indiquant “importez votre clé”, et que cela a fonctionné, mais que cela ne fonctionne pas maintenant, consultez le chapitre 9: Utilisation de Pageant pour l’authentification .

Un dernier conseil si vous êtes sous Windows: vous pouvez avoir plusieurs instances de la suite PuTTY installées par différents outils. TortoiseGit, par exemple, installe ses propres.

J’ai rencontré ce problème parce que mon GIT_SSH pointait vers la version TortoiseSVN de Plink.exe . Je l’ai changé pour pointer vers la version TortoiseGit, redémarré cmd et cela a fonctionné.

Je ne me souviens pas exactement, mais la version de TortoiseSVN pouvait être une version 32 bits et la version TortoiseGit était 64 bits (située dans Program Files , pas Program Files (x86) ).

Vérifiez votre var GIT_SSH env.

Je préfère utiliser git avec normal cmd.exe (dans Console2 bien sûr)

Mon problème était que j’essayais d’utiliser mon nom d’utilisateur github. Apparemment, lorsque vous utilisez Github (ou est-ce une chose Git?) , Si vous utilisez une authentification par clé, vous devez définir votre nom d’utilisateur sur git .

Je ne sais pas pourquoi vous avez même besoin d’un nom d’utilisateur – peut-être que quelqu’un de plus compétent peut l’expliquer?

Pour les utilisateurs de TortoiseGit sous Windows

À l’origine, j’avais l’habitude de configurer la plupart de mes référentiels Github / Bitbucket en utilisant les URL du référentiel SSH comme (à l’origine) c’était le seul moyen pratique d’empêcher TortoiseGit de demander votre mot de passe pour chaque action.

Mais placer TortoiseGit de cette façon était toujours douloureux. Chaque fois, il m’a fallu des heures pour configurer correctement, car les options d’installation par défaut ne semblaient jamais fonctionner (même à partir de 2016, sheesh!).

Mais TortoiseGit dispose désormais d’une meilleure gestion des mots de passe pour HTTPS, et Github recommande en fait d’utiliser les URL HTTPS autant que possible.

URL SSH: git@github.com:User/repo-name.git

URL HTTPS: https://github.com/User/repo-name.git

Les avantages de HTTPS sont les suivants:

  • Pas de gestion ou de génération de clés SSH
  • Pas besoin de faire constamment fonctionner pageant.exe (qui demande votre mot de passe à chaque lancement)
  • En utilisant TortoiseGit d’Australie, je trouve que les clones sur HTTPS sont 5 à 10 fois plus rapides que SSH

Si vous utilisez Pageant et que vous obtenez l’erreur décrite dans la question après avoir redémarré votre PC (ou autrement fermé et rouvert Pageant):

L’erreur peut être provoquée par le fait que Pageant ne charge pas activement votre clé SSH GitHub. Par défaut, Pageant ne charge pas automatiquement les clés de la session précédente au démarrage.

Pour charger la clé:

  1. Open Pageant. (Sous Windows, si Pageant est en cours d’exécution, une icône apparaîtra dans la barre d’état système. Double-cliquez dessus.)
  2. Cliquez sur le bouton Ajouter une clé et continuez à append votre clé SSH GitHub existante.

Pour éviter ce problème à l’avenir, vous pouvez configurer Pageant pour qu’il charge automatiquement votre clé au démarrage. (Pageant vous demandera automatiquement un mot de passe si votre clé est protégée par mot de passe.)

Étapes pour ce faire (en supposant que vous avez déjà configuré Pageant pour s’exécuter au démarrage de Windows):

  1. Recherchez le raccourci utilisé par Windows pour exécuter Pageant au démarrage de Windows. (Il peut être dans le dossier de démarrage, qui peut être ouvert par Démarrer> Exécuter> shell:startup )
  2. Dans la boîte de dialog Propriétés du raccourci, ajoutez le chemin d’access complet et le nom de fichier du fichier de clé SSH au champ “Cible”.

Référence et détails complets: http://blog.shvetsov.com/2010/03/making-pageant-automatically-load-keys.html

Sur ma machine Windows 7 exécutant Github pour Windows en utilisant git version 1.8.3.msysgit.0. J’ai constaté que la mise à jour de ma variable d’environnement système GIT_SSH vers C: \ Program Files (x86) \ Git \ bin \ ssh.exe semblait faire l’affaire. Cela a également résolu mon problème avec le contact avec le repository git d’OpenShift.

Même erreur, solution différente notée ici – Problème de connexion à GitHub sous Windows, même via PuTTY

J’ai rencontré ce même problème, cependant la solution GIT_SSH a semblé fonctionner une fois pour moi. Après un redémarrage de l’ordinateur, j’ai réalisé que c’était autre chose, car j’ai pu cloner mes répertoires privés sans problème en utilisant Git Bash ou Invite de commandes, mais pas dans Sublime Text 3 avec le plugin SublimeGit. Ma solution était simple et est en fait ce que @BlueRaja – Danny Pflughoeft a mentionné, mais je pensais que cela pourrait utiliser une certaine direction;)

Fondamentalement, il vous suffit de modifier ~/.ssh/config et de vous assurer que le nom d’utilisateur est git . Vous pouvez également lui indiquer d’utiliser une clé SSH spécifique pour Github – Mon fichier ~/.ssh/config ressemble à ceci:

 Host gh Hostname github.com User git IdentityFile ~/.ssh/github_rsa.pub 

J’ai une clé spécifique pour Github en raison du nombre d’autres choses que je fais tout au long de ma journée, mais si vous n’en avez qu’une, ce sera généralement ~/.ssh/id_rsa.pub comme Github l’explique ici .

Je sais que tout le monde a une solution différente, mais je vais laisser cela ici à quiconque pourrait rencontrer cet article sans correction. Bonne chance!

J’ai eu cette erreur en utilisant TortoiseGit pour cloner un référentiel de GitHub. Corrigé en cliquant sur “Load Putty Key” et en sélectionnant un fichier de clé (* .pkk) dans le dialog de clonage Git.

Vous pouvez obtenir plink & pageant d’ici: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Ce sont des outils PuTTY.

Travaillé pour moi sur Windows 8: la variable GIT_SSH pointait vers plink.exe, elle a été modifiée dans les parameters système pour pointer vers le binary ssh, ce qui a résolu le problème. Pour trouver le chemin complet du ssh, exécutez:

 where ssh 

J’ai eu ce problème (direct ssh a fonctionné, mais git pull a échoué) en raison du fait que ma télécommande Git n’était pas ce que je pensais.

Oui, oui, je sais que c’est une erreur stupide, mais ça arrive et ça vaut la peine de le vérifier.

Utilisez git remote -v