126 votes

N’oubliez pas de mot de passe, bash Git sous windows

J’ai un bâtiment automatique service quel téléchargement depuis un référentiel privé de git. Le problème est que lorsqu’il tente de cloner dépôt il faut fournir le mot de passe, car il n’est pas connu ; donc parce qu’il n’y a aucune interaction humaine, il attend toujours le mot de passe. Comment est-ce que je peux forcer il se rappeler de id_rsa.pub ?

257voto

starmonkey Points 1241

Pour les utilisateurs de Windows, juste une remarque que c'est de cette façon que je peux configurer Git Bash environnement à me connecter une fois quand je le démarre. J'ai modifier mon ~/.bashrc:

eval `ssh-agent`
ssh-add

Donc, quand je démarre Git Bash, ça ressemble:

Bienvenue à Git (version 1.7.8-preview20111206)
( ... )
Agent pid 3376
Enter passphrase for /c/Utilisateurs/starmonkey/.ssh/id_dsa:
Identité ajoutée: /c/Utilisateurs/starmonkey/.ssh/id_dsa (/c/Utilisateurs/starmonkey/.ssh/id_dsa)

Et maintenant, je peux ssh vers d'autres serveurs sans avoir à vous connecter à chaque fois.

Je sais que c'est une vieille question, mais je suis venu ici aujourd'hui, à partir d'une recherche sur google, donc j'espère que cela sera utile à d'autres.

5voto

millimoose Points 22665

Si je comprends correctement à la question, vous utilisez déjà autorisé clé SSH dans le service de build, mais vous voulez éviter d'avoir à taper le mot de passe pour chaque clone?

Je pense à deux façons de le faire:

  1. Si votre service est en cours de démarrage de manière interactive: Avant de commencer à la construire de service, démarrez ssh-agent avec un temps suffisamment long délai d'attente (-t option). Ensuite, utilisez ssh-add (msysGit devrait avoir ces) pour ajouter toutes les clés privées vous avez besoin avant de commencer à construire votre service. Vous auriez toujours se taper tous les mots de passes, mais une seule fois par le lancement du service.

  2. Si vous voulez éviter d'avoir à taper les phrases de passe à tous, vous pouvez toujours supprimer les phrases de passe à partir de l'clés ssh, comme décrit dans http://serverfault.com/questions/50775/how-do-i-change-my-private-key-passphraseen définissant un nouveau mot de passe vide. Cela devrait faire disparaître l'invite de mot de passe entièrement, mais il est encore moins sûr que l'option précédente.

1voto

narak Points 46

Ce que @starmonkey dit. Dans le cas où vous êtes confus sur ce qui des ~/.bashrc vérifier cette réponse SO : Git pour Windows : fichiers de configuration .bashrc ou équivalent pour shell Git Bash

-1voto

beduin Points 2742

Vous devez créer authorized_keys fichier .ssh le dossier de l'utilisateur sous lequel vous allez vous connecter à la prise en pension de serveur. Par exemple, en supposant que vous utilisez le nom d'utilisateur buildservice sur repo.server vous pouvez exécuter:

cd ~buidservice
mkdir ./ssh
cat id_rsa.pub > .ssh/authorized_keys

Que vous avez pour vérifier les choses suivantes:
1.Que correspondant id_rsa clé privée est présentée dans builservice@build.server:~/.shh/id_rsa.
2.Que les empreintes digitales des pensions de titres.le serveur est stocké dans le buildservice@build.server:~/.ssh/known_hosts fichier. En règle générale, cela sera fait après la première tentative de ssh connecter des pensions.serveur.

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