web-dev-qa-db-fra.com

Comment configurer tortoisegit pour ne pas exiger de mot de passe en utilisant ssh

Je ne parviens pas à faire utiliser gut/tortoisegit ma clé ssh fournie (créée à l'aide de PuttyGen). Dans l'invite de commande, une erreur permission denied s'affiche et dans l'interface utilisateur de TortoiseGit, un mot de passe est demandé. J'ai essayé cette SO question , mais comme indiqué, j'ai créé avec PuttyGen, j'ai Pageant en cours d'exécution avec mes clés chargées et je suis configuré pour utiliser TortoisePlink.

J'ai alors trouvé cette SO question , et j'ai essayé d'utiliser ssh dans le répertoire git, le TortoisePlink dans mon TortoiseHG (utilisé pour Bitbucket/Mercurial) et, comme indiqué, avait déjà essayé le TortoisePlink dans TortoiseGit.

Oh, et j'ai configuré mon ppk dans mon compte Git, ainsi que dans la section Git-> Remote de TortoiseGit

Alors, qu'est-ce qui me manque?

18
Justin Pihony

Vérifiez quelle est votre URL d'origine.

Faites un clic droit sur le dossier de votre projet TortoiseGit -> Settings -> Choisissez Git -> Remote et sélectionnez l’entrée Origin.

Vérifiez que l’URL commence par ssh:// et que votre clé privée est chargée.

Si l'URL commence par https://, il vous demandera votre mot de passe à chaque fois.

J'espère que cela t'aides.

14
CGRobinson

Je ne pouvais pas faire ce travail avec github/tortoisegit non plus. Utiliser git depuis la ligne de commande sous Linux a bien fonctionné. J'ai ensuite eu recours à mon nom d'utilisateur/mot de passe comme décrit ici:

http://www.programmoria.com/2012/02/saving-tortoisegit-password.html

et ailleurs. Ce n'est pas une vraie solution (désolée) mais une solution de contournement qui aboutit à la même chose: l'authentification automatique sans avoir à entrer votre nom d'utilisateur/mot de passe. Le fichier _netrc est aussi sécurisé/non sécurisé que la clé privée qui serait également stockée quelque part sur votre ordinateur, je le considère donc comme une solution acceptable. Les commentaires à ce sujet sont les bienvenus.

4
Sander P

Certains serveurs Git sont quelque peu contre-intuitifs (IMHO) en matière d’authentification. Par exemple, Documents Github say:

Toutes les connexions doivent être effectuées en tant qu'utilisateur "git".

Donc, au lieu d'essayer de vous connecter à ssh://<yourname>@github.com..., vous devez vous connecter à ssh://[email protected]....

On ne me demande plus de mot de passe et TortoiseGit affiche maintenant Success après avoir terminé une opération Push .

4
O. R. Mapper

Votre compte sur le serveur OpenSSH sait-il que vous devriez être autorisé avec votre clé publique?

Chargez votre clé avec PuTTyGen. Vous verrez une zone de texte en lecture seule sous "Clé publique pour coller dans le fichier OpenSSH allowed_keys". Copiez ce qu'il y a dedans.

SSH avec PuTTY sur le serveur SSH. Ouvrez le fichier ~/.ssh/authorized_keys avec un éditeur et collez le texte copié dans une nouvelle ligne, puis enregistrez. Le répertoire ~/.ssh n'existe peut-être pas encore. Dans ce cas, faites mkdir ~/.ssh avant de modifier ce fichier.

1
Attila Szeremi

Je faisais également face au même problème sur la v1.8.4, puis j’ai basculé mon client ssh sur plink et cela fonctionne bien maintenant. Paramètres TortoiseGit -> Réseau -> Client SSH 

plink est distribué avec du peagent et d’autres friandises dans l’emballage standard de PuTTY

Apparemment, il existe un bogue dans certaines versions de TortoiseGit (TortoisePlink en particulier) voir cette réponse

1
mzzzzb

J'utilise git 2.7 et tortoisegit 1.8.16 Voici ce que j'ai fait pour éviter de demander un mot de passe et cela a fonctionné pour mon cas.

Faites un clic droit sur votre dossier de projet TortoiseGit -> Paramètres Choisissez Git -> Distant et sélectionnez l'entrée Origine Modifier l'URL de https: // github ... en ssh: // git @ github ...

0
Tue

En utilisant Tortoise 2.2.0.0, vous devez faire plusieurs choses. Sur l'onglet distant, vous pouvez supprimer le ou les http d'origine que vous avez déjà ou vous devez en ajouter une seconde, en utilisant ssh: // et en cochant la case "Push Default" pour la ssh afin que Tortoise l'utilise pour les envois par défaut (et l'origine https dans mon cas pour tirer).

Seule la personne ssh a besoin de la clé spécifiée. Ensuite, lorsque vous appuyez sur Push, votre nouvelle origine ssh doit être définie par défaut en tant que destination et ne pas demander votre nom d’utilisateur et votre mot de passe.

De toute évidence, vous devez savoir quel utilisateur utiliser dans votre URL. Par exemple, dans Visual Studio Team Services, il s'agit du nom du compte VSTS (non titulaire du compte!). Vous pourriez aussi avoir besoin du numéro de port.

C'est tout ce que j'ai fait pour installer à partir de zéro et cela a bien fonctionné.

0
Lukos