91 votes

Tortoisegit demande un mot de passe

Je viens de commencer à travailler sur Git. J'utilise Windows 7 et j'ai installé msysgit (1.7.8) et Tortoisegit (1.7.6). Le dépôt est créé sur un serveur Linux accessible via LAN. Le problème que je rencontre est que je ne parviens pas à cloner le dépôt en utilisant Tortoisegit, il demande un mot de passe et je ne sais pas quel mot de passe il demande. En même temps, j'ai pu cloner le dépôt en utilisant Git Gui et effectuer toutes les opérations. Est-ce que quelqu'un pourrait svp m'aider à comprendre pourquoi Tortoisegit demande un mot de passe alors que Git Gui ne le demande pas. J'ai essayé de désinstaller Git et Tortoisegit puis de réinstaller mais sans succès.

Erreur Tortoisegit

0 votes

Votre serveur git utilise-t-il une authentification par clé publique?

0 votes

Sur le MÊME clone du dépôt, que fait TortoiseGit et que fait Git GUI ?

2 votes

Lorsque vous faites un clic droit pour Tortoise Git, cliquez sur Paramètres. Dans Git, il y a un lien -> Remote, cliquez dessus. Dans la liste à distance, cliquez sur origine. À droite, vous verrez l'URL. Au lieu de votre nom d'utilisateur à l'URL écrivez ceci : nom d'utilisateur: . Enfin, lorsque vous effectuez une opération git à partir de Tortoise Git, vous verrez qu'il ne vous demande jamais de mot de passe.

146voto

pramodtech Points 1747

Mon collègue a résolu le problème. Étapes :

  1. Clic droit -> TortoiseGit -> Paramètres -> Réseau
  2. Le client SSH pointait vers C:\Program Files\TortoiseGit\bin\TortoisePlink.exe
  3. Changement du chemin vers C:\Program Files (x86)\Git\bin\ssh.exe

Alternativement :

  • C:\Users\...\AppData\Local\Programs\Git\usr\bin\ssh.exe
  • C:\Program Files\Git\usr\bin\ssh.exe - avec Git 2.37.3

0 votes

Cela fonctionne pour moi avec la version 1.8.3 de Tortoise... ce problème me rend fou !! sur WindowsXP@32 bits, TortoiseGit fonctionne seulement avec c:\programmi\git\bin\ssh.exe, sur Windows7@64 bits, cela fonctionne bien avec toirtoiseplink.exe (par défaut)

0 votes

Sur ma machine Windows 8, pointer le client SSH vers le fichier ssh.exe de msysGit a fonctionné lorsque la demande de mot de passe ne s'est pas du tout affichée. Un problème différent mais cette solution vaut vraiment la peine d'être essayée pour quelqu'un rencontrant des problèmes SSH avec TortoiseGit

0 votes

Utilisez plink avec Peagent, consultez ma réponse ci-dessous. espérons que cela fonctionne également avec win8

23voto

Hugh Fuve Points 21

Pour le faire sans clés...

Faites un clic droit sur votre dossier
Sélectionnez tortoiseGit->paramètres->Git->Remote
Sélectionnez l'origine (ou tout autre nom que vous avez donné à votre principal distant)

Sous URL, utilisez ce format.

Https://NOM\_UTILISATEUR:MOT\_DE\_PASSE@URL
Où NOM_UTILISATEUR est votre nom d'utilisateur
le deux-points sépare le nom d'utilisateur et le mot de passe et doit être présent MOT_DE_PASSE est votre mot de passe
@ sépare les identifiants de votre url
URL est l'URL que vous utiliseriez pour vous connecter à la ressource .git

Un grand merci à Kamaci

3 votes

Cette solution fonctionne également avec une clé. Clone Https://USERNAME@URL et tout ira bien.

2 votes

Oui, sauf ne le faites pas car lorsque vous effectuez une fusion, TortoiseGit a tendance à mettre l'intégralité de l'URL dans le message de validation !

0 votes

C'est la solution parfaite. Mais y a-t-il un moyen de cacher le mot de passe, car il est en texte clair.

15voto

Anthony Keane Points 366

Enregistrer le nom d'utilisateur et le mot de passe avec TortoiseGit

Enregistrer vos informations de connexion dans TortoiseGit est assez facile. Cela vous évite de devoir taper votre nom d'utilisateur et mot de passe à chaque fois que vous faites un pull ou un push.

  1. Créez un fichier appelé _netrc avec le contenu suivant:

    machine github.com
    login votrenomdutilisateur
    password votremotdepasse

  2. Copiez le fichier dans C:\Utilisateurs\ (ou un autre emplacement; c'est juste l'endroit où je l'ai mis)

  3. Allez dans l'invite de commandes, tapez setx home C:\Utilisateurs\

Remarque : si vous utilisez une version antérieure à Windows 7, la commande setx risque de ne pas fonctionner pour vous. Utilisez set à la place et ajoutez la variable d'environnement home à Windows via les Paramètres Avancés dans Mon Ordinateur.

CRÉDIT À : http://www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/

1 votes

Cela fonctionne très bien, mais y a-t-il un moyen de chiffrer le mot de passe en clair ? Je me sentais mal à l'aise de stocker mon mot de passe GitHub dans un fichier texte en clair.

0 votes

@DioPhung Réfléchissez à ce que vous venez de dire. Si le mot de passe est chiffré, vous devrez maintenant vous souvenir d'un (nouveau) mot de passe pour utiliser le mot de passe. Si vous n'avez pas à vous souvenir du mot de passe, alors c'est aussi bien que de ne pas avoir de mot de passe (d'un point de vue de la menace locale). Soit vous voulez la commodité, soit la sécurité.

0 votes

@CamiloMartin: Mon souci est que si mon PC est partagé avec d'autres utilisateurs et que certains d'entre eux sont des administrateurs, ils peuvent voir mon mot de passe stocké en texte clair à l'intérieur du fichier _netrc. Désolé, je t'ai perdu à 'Si le mot de passe est chiffré, tu devras maintenant te rappeler d'un (nouveau) mot de passe pour utiliser le mot de passe.', ne puis-je pas hacher le mot de passe en utilisant lui-même ?

5voto

mzzzzb Points 617

Une façon de le faire est

  • générer une paire de clés en utilisant PuttyGen, (ou importer dans .ppk si vous avez déjà une clé)
  • charger la clé privée dans peagent
  • importer la clé publique sur votre serveur gitosis (fournissez votre clé publique à votre administrateur)
  • puis utilisez plink comme client SSH

plink fonctionne nativement avec peagent pour récupérer la clé chargée.

vous pouvez trouver plink.exe ainsi que peagent et d'autres outils dans la distribution standard de putty

pour l'utiliser allez à :

Paramètres de TortoiseGit -> Réseau -> Client SSH .

par défaut, cela contient le chemin vers TortoisePlink.exe, au lieu de cela, donnez le chemin vers plink.exe

Alternativement, vous pouvez utiliser ssh(.exe) dans la distribution msys(git) mais alors vous ne pouvez pas utiliser de clé privée au format .ppk/Combinaison Peagent. Vous devez soit exporter votre clé au format OpenSSH via PuttyGen, soit créer une paire de clés en utilisant ssh-keygen à la place.

0 votes

Que voulez-vous dire par "client SSH au lieu de TortoisePlink pointe vers plink"? Où se trouve probablement ce programme SSH?

0 votes

Désolé pour l'absence de ponctuation, je pense que c'est la source de confusion. J'ai mis à jour la réponse

0 votes

Pas besoin de changer quoi que ce soit dans les paramètres. Fournissez simplement la clé privée Putty lorsque vous clonez un dépôt via SSH et c'est fait. N'oubliez pas d'entrer le point de terminaison SSH dans la fenêtre de clonage et NON celui en https.

3voto

Dov Grobgeld Points 1673

L'URL et le titre de la fenêtre TortoisePlink indiquent tous deux que les tortues essaient d'utiliser ssh comme protocole de transport. git prend en charge plus d'un protocole de transport, y compris l'accès au système de fichiers et l'accès ssh. Dans votre question, vous décrivez que vous voulez accéder à votre dépôt distant par l'accès au système de fichiers. Dans ce cas, votre URL de dépôt distant devrait ressembler à file://serveur/chemin/vers/dépôt. Veuillez vérifier à nouveau l'URL de votre dépôt distant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X