J'utilise github et j'ai ajouté et synchronisé avec succès des fichiers sur mon ordinateur portable dans le passé.
depuis peu, j'ai commencé à recevoir " PuTTY Fatal Error: Disconnected: Aucune méthode d'authentification prise en charge disponible " après l'exécution:
git pull origin master (ou push)
toutefois
ssh [email protected] renvoie la bonne réponse: ERREUR: Salut nom d'utilisateur! Vous vous êtes authentifié avec succès, mais GitHub ne fournit pas d'accès au shell. Connexion à github.com fermée.
après avoir fouillé sur github, j'ai trouvé ce morcel:
Aucune méthode d'authentification prise en charge disponible Vous devez être conscient de la variable d'environnement GIT_SSH, qui est utilisée par git pour trouver votre client parlant ssh, si ssh ne fonctionne pas pour vous. L'installation git peut utiliser plink.exe (via GIT_SSH) pour effectuer l'authentification. Si tel 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 cela, l'erreur ci-dessus se produira.
je ne sais pas ce qu'est plink.exe ou peagant.exe .. et le fait que ssh [email protected] semble s'authentifier correctement me fait me demander quelle est la meilleure solution ici .. je ne veux certainement pas compliquer ma configuration sinon nécessaire.
GIT_SSH
faire.bash_profile
et non.profile
GIT_SSH="D:\Program Files\Git\usr\bin\ssh.exe"
Utilisation de TortoiseGit
TortoiseGit> Paramètres ... Réseau ... Client SSH:
C:\Program Files\Git\usr\bin\ssh.exe
Emplacement ma varier. Sur un ordinateur, il était
C:\Program Files (x86)\Git\bin\ssh.exe
la source
Puisque vous demandez: plink & pageant font partie de la suite PuTTY, qui est une implémentation de SSH qui prend en charge Linux et Windows et est complètement dominante sur Windows.
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
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 et pageant.exe ne s'appliquent probablement pas si vous êtes sous Linux . PuTTY comprend
De ( http://en.wikipedia.org/wiki/Secure_Shell#Key_management )
Ainsi, 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?) Ne s'authentifient qu'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é, ils doivent donc être gérés. 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 les guides qui disaient "importez votre clé" et que vous avez vu que cela fonctionnait, mais que cela ne fonctionne pas maintenant, consultez le Chapitre 9: Utiliser Pageant pour l'authentification .
Un dernier conseil si vous êtes sous Windows: vous pouvez avoir plusieurs instances de la suite PuTTY installées par divers outils. TortoiseGit, par exemple, installe le sien.
la source
J'ai rencontré ce problème car je
GIT_SSH
pointais vers la version TortoiseSVN dePlink.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 TortoiseSVN était peut-être une version 32 bits, et la version TortoiseGit était 64 bits (située dans
Program Files
, pasProgram Files (x86)
).Vérifiez votre
GIT_SSH
env var.Je préfère utiliser git avec normal
cmd.exe
(dans Console2 bien sûr)la source
Pour les utilisateurs de TortoiseGit sous Windows
À l'origine, j'avais l'habitude de configurer la plupart de mes référentiels Github / Bitbucket à l'aide des URL de référentiel SSH car (à l'origine) c'était le seul moyen pratique d'empêcher TortoiseGit de vous demander votre mot de passe à chaque action.
Mais installer TortoiseGit de cette façon était toujours très douloureux. Chaque fois que ça m'a pris 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 a maintenant une meilleure gestion des mots de passe pour HTTPS, et Github recommande en fait d'utiliser les URL HTTPS dans la mesure du possible.
Les avantages du HTTPS sont:
pageant.exe
constamment en cours d'exécution (qui demande votre mot de passe à chaque lancement)la source
Si vous utilisez Pageant et que vous obtenez l'erreur décrite dans la question après le redémarrage de votre PC (ou la fermeture et la réouverture de Pageant):
L'erreur peut être due au fait que Pageant n'a pas chargé votre clé SSH GitHub de manière active. Par défaut, Pageant ne charge PAS automatiquement les clés de la session précédente au démarrage.
Pour charger la clé:
Pour éviter ce problème à l'avenir, vous pouvez configurer Pageant pour charger automatiquement votre clé lors de son démarrage. (Pageant vous demandera automatiquement un mot de passe si votre clé est protégée par mot de passe.)
Étapes à suivre pour ce faire (en supposant que Pageant est déjà configuré pour s'exécuter au démarrage de Windows):
shell:startup
)Référence et détails complets: http://blog.shvetsov.com/2010/03/making-pageant-automatically-load-keys.html
la source
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 l'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?
la source
ssh://[email protected]/myname/repo.git
fonctionnera très bien. Bon travail. Quant à savoir pourquoi, je suppose que c'est pour verrouiller la sécurité. L'utilisateur 'git' a sa connexion désactivée, donc personne ne peut pénétrer dans le système de cette façon. Ils doivent avoir une clé valide pour même parler à Github, et une fois qu'ils ont une clé valide, ils peuvent laSur ma machine Windows 7 exécutant Github pour Windows en utilisant git version 1.8.3.msysgit.0. J'ai trouvé 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 de contact avec le dépôt git d'OpenShift.
la source
A travaillé pour moi sur Windows 8: la variable GIT_SSH pointait vers plink.exe, l'a modifiée dans les paramètres système pour pointer vers le binaire ssh, et cela a résolu le problème. Pour connaître le chemin complet vers le ssh, exécutez:
la source
Pour résoudre ce problème, c'est ce que j'ai fait.
J'utilisais Git Bash sur Windows 10
J'ai commencé Pageant, j'ai appuyé sur Ajouter une clé,
navigué vers le dossier C: \ Users \ username \ .ssh et choisi ma clé
J'essaye ensuite de faire un push git et cela a fonctionné cette fois.
la source
Même erreur, solution différente notée ici - Problème de connexion à GitHub sous Windows, même via PuTTY
la source
J'ai rencontré ce même problème, mais 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'étais capable de cloner mes dépôts privés sans problème en utilisant Git Bash ou Command Prompt, mais pas dans Sublime Text 3 avec le plugin SublimeGit. Ma solution était simple et c'est en fait ce que @BlueRaja - Danny Pflughoeft mentionné mais je pensais que cela pourrait utiliser une direction;)
Fondamentalement, il vous suffit de modifier
~/.ssh/config
et de vous assurer que le nom d'utilisateur estgit
. Vous pouvez également lui dire d'utiliser une clé SSH spécifique pour Github - Mon~/.ssh/config
fichier ressemble à ce qui suit: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 laisserai ceci ici pour tous ceux qui pourraient rencontrer cet article sans solution. Bonne chance!
la source
J'ai eu cette erreur lors de l'utilisation de TortoiseGit pour cloner un référentiel à partir de GitHub. Correction en cliquant sur "Load Putty Key" et en sélectionnant un fichier de clé (* .pkk) dans la boîte de dialogue de clonage de Git.
la source
Vous pouvez obtenir Plink & Pageant à partir d'ici: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Ce sont des outils PuTTY.
la source
J'ai eu ce problème (direct ssh a fonctionné, mais git pull a échoué) car ma télécommande git n'est pas ce que je pensais.
Oui, oui, je sais que c'est une erreur stupide, mais cela arrive et cela vaut la peine d'être vérifié.
Utilisation
git remote -v
la source
J'ai eu un problème similaire après la mise à jour de GitExtensions vers la version 3.3.0.7719
D'une manière ou d'une autre, mes paramètres d'authentification ont été rétablis pour utiliser PuTTY au lieu d'OpenSSH.
Dans cette version, voici le menu que j'ai utilisé pour réactiver OpenSSH:
la source