Pourquoi git ne se souvient pas de ma phrase secrète sous Windows

144

Je viens de commencer à utiliser git et je ne parviens pas à le faire mémoriser ma phrase de passe J'utilise cmd.exe surélevé et mon hôte git est github et j'ai créé une clé ssh comme ce guide sur github

mais je reçois toujours

*\subnus.mvc>git push origin master
Enter passphrase for key '/c/Users/Subnus/.ssh/id_rsa':
Nesizer
la source
Je n'ai pas utilisé msysgit moi-même, mais l' agent d'authentification pageant peut être utile.
Cebjyre
1
J'ai tout essayé, puis j'ai trouvé cela qui fonctionnait.
Blake Niemyjski
1
Windows 10 est livré avec OpenSSH depuis un certain temps maintenant. Activez le service ssh-agent, utilisez ssh-add pour ajouter votre clé au magasin ssh et définissez-le GIT_SSHdans votre environnement (si nécessaire) et git / ssh se souviendra de votre phrase secrète via ssh-agent. Voir ma réponse ci-dessous pour des instructions plus détaillées.
d3r3kk
1
2019, vient d'installer git sur Windows 10 et git demande le mot de passe une fois et s'en souvient.
Jean-François Fabre
@ Jean-FrançoisFabre Vous n'utilisez peut-être pas OpenSSL.
RoadRunner

Réponses:

206

Je me rends compte que cette question se pose il y a deux ans, mais j'avais le même problème et plusieurs réponses ici ne répondaient pas complètement à la question pour moi. Voici deux solutions étape par étape, selon que vous utilisez TortoiseGit en plus de msysgit ou non.

La première solution suppose Windows, msysgit et PuTTY.

  1. Installez msysgit et PuTTY comme indiqué.
  2. (Facultatif) Ajoutez PuTTY à votre chemin. (Si vous ne le faites pas, toutes les références aux commandes PuTTY ci-dessous doivent être précédées du chemin complet vers l'exécutable approprié.)
  3. Si vous ne l'avez pas déjà fait, générez un hachage de clé comme indiqué sur GitHub ou comme indiqué par votre hôte Git.
  4. Encore une fois, si vous ne l'avez pas déjà fait, convertissez votre clé pour l'utiliser avec pageant.exe de PuTTY en utilisant puttygen.exe . Les instructions se trouvent dans la documentation de PuTTY, dans ce guide utile et dans plusieurs autres endroits du cyberespace.
  5. Exécutez pageant.exe de PuTTY , ouvrez votre fichier .ppk ("Ajouter une clé") et fournissez votre mot de passe pour votre clé.
  6. Accédez à la boîte de dialogue des variables d'environnement de Windows (clic droit sur "Ordinateur", Cliquez sur "Propriétés", Cliquez sur "Paramètres système avancés" ou l'onglet "Avancé", cliquez sur "Variables d'environnement"). Ajoutez la variable d'environnement suivante:

    GIT_SSH = C: \ full \ chemin \ vers \ plink.exe

    Remplacez "C: \ full \ path \ to" par le chemin d'installation complet de PuTTY, où se trouve plink.exe. Il est probablement préférable de l'ajouter à la section "Variables utilisateur". Assurez-vous également que le chemin que vous utilisez pour plink.exe correspond au chemin que vous utilisez pour Pageant (pageant.exe). Dans certains cas, vous pouvez avoir plusieurs installations de PuTTY car il peut être installé avec d'autres applications. L'utilisation de plink.exe à partir d'une installation et de pageant.exe à partir d'une autre vous causera probablement des problèmes.

  7. Ouvrez une invite de commande.

  8. Si vous essayez de vous connecter à un référentiel git hébergé sur Github.com, exécutez la commande suivante:

    plink.exe [email protected]

    Si le référentiel git auquel vous essayez de vous connecter est hébergé ailleurs, remplacez [email protected] par un nom d'utilisateur et une URL appropriés. (En supposant Github) Vous devez être informé que la clé d'hôte du serveur n'est pas mise en cache et vous demander si vous lui faites confiance. Répondez par un y . Cela ajoutera la clé d'hôte du serveur à la liste des hôtes connus de PuTTY. Sans cette étape, les commandes git ne fonctionneront pas correctement. Après avoir appuyé sur Entrée, Github vous informe que Github ne fournit pas d'accès au shell. C'est bien ... nous n'en avons pas besoin. (Si vous vous connectez à un autre hôte et que cela vous donne un accès shell, il est probablement préférable de mettre fin au lien sans rien faire d'autre.)

  9. Terminé! Les commandes Git devraient maintenant fonctionner à partir de la ligne de commande. Vous voudrez peut-être que pageant.exe charge automatiquement votre fichier .ppk au démarrage , en fonction de la fréquence à laquelle vous en aurez besoin.

La deuxième solution suppose Windows, msysgit et TortoiseGit.

TortoiseGit est livré avec des exécutables PuTTY et une version spécialement modifiée de plink (appelée TortoisePlink.exe) qui facilitera les choses.

  1. Installez msysgit et TortoiseGit comme indiqué.
  2. Si vous ne l'avez pas déjà fait, générez un hachage de clé comme indiqué sur GitHub ou comme indiqué par votre hôte Git.
  3. Encore une fois, si vous ne l' avez pas déjà fait, convertir votre clé pour une utilisation avec pageant.exe de TortoiseGit à l' aide de TortoiseGit de PuTTYgen.exe . Les instructions se trouvent dans la documentation de PuTTY, dans le guide utile lié à la première solution et à plusieurs autres endroits dans le cyberespace.
  4. Exécutez pageant.exe de TortoiseGit , ouvrez votre fichier .ppk ("Ajouter une clé") et fournissez votre mot de passe pour votre clé.
  5. Accédez à la boîte de dialogue des variables d'environnement de Windows (clic droit sur "Ordinateur", Cliquez sur "Propriétés", Cliquez sur "Paramètres système avancés" ou l'onglet "Avancé", cliquez sur "Variables d'environnement"). Ajoutez la variable d'environnement suivante:

    GIT_SSH = C: \ chemin \ complet \ vers \ TortoisePlink.exe

    Remplacez "C: \ full \ path \ to" par le chemin d'installation complet vers TortoiseGit, où TortoisePlink.exe se trouve. Il est probablement préférable de l'ajouter à la section "Variables utilisateur". Assurez-vous également que le chemin que vous utilisez pour TortoisePlink.exe correspond au chemin que vous utilisez pour Pageant (pageant.exe). Dans certains cas, vous pouvez avoir plusieurs installations de PuTTY car il peut être installé avec d'autres applications. L'utilisation de TortoisePlink.exe à partir de l'installation de TortoiseGit et de pageant.exe à partir d'une autre installation d'une autre application (ou d'une installation PuTTY autonome) vous causera probablement des problèmes.

  6. Terminé! Les commandes Git devraient maintenant fonctionner à partir de la ligne de commande. La première fois que vous essayez de vous connecter à votre référentiel git, vous serez probablement informé que la clé d'hôte du serveur n'est pas mise en cache et vous demandera si vous faites confiance au serveur. Cliquez sur "Oui". (Ceci est TortoisePlink.exe en action.)

    Vous voudrez peut-être que pageant.exe charge automatiquement votre fichier .ppk au démarrage , en fonction de la fréquence à laquelle vous en aurez besoin.

La troisième solution suppose Window, msysgit et l'invite de commande native.

  1. Installez msysgit
  2. Assurez-vous d'autoriser l'utilisation de git sur l'invite de commande MS-DOS
  3. Courir start-ssh-agent
  4. Entrez les mots de passe SSH
  5. Terminé! Les commandes Git devraient maintenant fonctionner dans l'invite de commande native.
Matt Clarkson
la source
3
Si vous avez à la fois GitExtensions et TortoiseGit, chacun ayant sa propre version de putty, assurez-vous de définir la variable d'environnement GIT_SSH sur le chemin du plink pour le concours que vous utilisez réellement.
shovavnik
15
Juste au cas où quelqu'un d'autre rencontrerait cette erreur stupide: assurez-vous que vous utilisez le format d'URL distante SSH (git @ host: accountname / reponame.git) et non l'URL HTTPS, sinon il continuera à demander ce mot de passe ...
dain le
Lorsque j'exécute plink.exe [email protected], j'obtiens "ERREUR FATALE: Connexion réseau fermée inopinément du serveur"
Brett
4
Remarque: la troisième méthode a été mise en amont dans msysgit afin que vous puissiez simplement taper start-ssh-agentla ligne de commande pour qu'elle enregistre votre phrase de passe SSH.
Matt Clarkson
6
La troisième solution ne fonctionne que jusqu'à ce que l'invite de commande soit fermée et uniquement pour cette invite de commande - tous les autres CMD demandent toujours une phrase de passe. De plus, tous les autres clients (VS, VS Code) ne parviennent pas à communiquer avec git distant.
Dima le
21

Chaque fois que je configure un nouveau bureau, j'oublie ces instructions, alors j'ajoute une autre réponse ici car je tombe dessus aussi souvent!


Étapes rapides pour les utilisateurs impatients comme moi

  1. Activez le OpenSSH Authentication Agentservice et faites-le démarrer automatiquement.
  2. Ajoutez votre clé SSH à l'agent avec ssh-addsur la ligne de commande.
  3. Testez l'intégration de git, s'il vous demande toujours votre phrase de passe, continuez.
  4. Ajoutez la variable d'environnement $ENV:GIT_SSH=C:\Windows\System32\OpenSSH\ssh.exeà votre session ou de manière permanente à votre environnement utilisateur.

Étapes détaillées: aperçu

Windows est livré avec OpenSSH depuis un certain temps maintenant. Il comprend tous les bits nécessaires pour que ssh fonctionne avec Git, mais il semble toujours avoir besoin d'un peu de TLC avant de fonctionner à 100% de manière transparente. Voici les étapes que j'ai suivies avec succès à partir de la version Windows 10.0.18362.449 (vous pouvez voir votre version de Windows 10 en ouvrant un shell cmd.exe et en tapant ver).

Je suppose ici que vous avez déjà la configuration de votre clé SSH et se trouve à ~/.ssh/id_rsa

Activez le service ssh-agent sur votre boîte Windows 10.

  1. Démarrer-> Tapez «Services» et cliquez sur l'application Services qui apparaît.
  2. Trouvez le OpenSSH Authentication Agentservice dans la liste.
  3. Faites un clic droit sur le OpenSSH Authentication Agentservice et choisissez «Propriétés».
  4. Remplacez le Startup type:par Automatic.
  5. Cliquez sur le Startbouton pour changer l'état du service en Running.
  6. Fermez la boîte de dialogue en cliquant sur OKet fermez l'application Services.

Ajoutez votre clé au ssh-agent

  1. Ouvrez votre shell de préférence (j'utiliserai Windows Powershell dans cet exemple, s'applique également à Powershell Core) .
  2. Ajoutez votre clé SSH au ssh-agent: ssh-add (vous pouvez ajouter le chemin d'accès à votre clé comme premier argument s'il diffère de la valeur par défaut) .
  3. Entrez votre mot de passe si / lorsque vous y êtes invité.

Essayez Git + SSH

  1. Ouvrez votre shell (encore une fois, j'utilise Powershell) et clonez un dépôt.git clone [email protected]:octocat/Spoon-Knife
  2. Si vous voyez cette invite, passez à la section suivante:
Enter passphrase for key '/c/Users/your_user_name/.ssh/id_rsa':

Définissez votre GIT_SSHvariable d'environnement

Dans n'importe quelle session, vous pouvez simplement définir cette variable d'environnement et l'invite de votre phrase de passe cessera de s'afficher et ssh l'utilisera ssh-agenten votre nom. Vous pouvez également définir votre phrase secrète dans l'environnement de votre utilisateur de manière permanente.

Pour définir GIT_SSHuniquement dans le shell actuel:

  1. Ouvrez votre coquille de préférence. (Powershell pour moi)
  2. Définissez la variable d'environnement GIT_SSH sur la valeur appropriée ssh.exe:$Env:GIT_SSH=$((Get-Command -Name ssh).Source)
  3. Réessayez les étapes dans Try Git + SSH ci-dessus.

Pour définir GIT_SSHdéfinitivement

  1. Ouvrez l'Explorateur de fichiers. Démarrer-> tapez «Explorateur de fichiers» et cliquez dessus dans la liste.
  2. Cliquez avec le bouton droit sur «Ce PC» et cliquez sur «Propriétés».
  3. Cliquez sur «Paramètres système avancés».
  4. Cliquez sur le bouton "Variables d'environnement ...".
  5. Sous "Variables utilisateur pour votre_nom_utilisateur", cliquez sur Nouveau ...
  6. Définir le Variable name:champ sur GIT_SSH
  7. Définissez le Variable value:champ sur path-to-ssh.exe (généralement C:\Windows\System32\OpenSSH\ssh.exe).
  8. Cliquez sur OK pour fermer la boîte de dialogue Nouvelle variable utilisateur.
  9. Cliquez sur OK pour fermer la boîte de dialogue Variables d'environnement.
  10. Réessayez les étapes dans Try Git + SSH ci-dessus.

Notez que cela va probablement changer avec de nouvelles étapes / procédures au fur et à mesure que Windows 10 progresse et que j'en apprends plus. Je vais essayer de garder cela à jour, j'attends avec impatience les commentaires dans les commentaires.

d3r3kk
la source
3
C'est la réponse la plus complète au 31/01/2020, du moins pour Windows. Il n'est pas nécessaire d'installer PUTTY ou quoi que ce soit.
Jake le
D'accord. Il semble que le support intégré soit enfin là.
Eron Lloyd
Légende! Cela a résolu mon problème. Je cherchais une solution depuis un moment, essayais différentes choses et c'est sans conteste l'arnaque la plus complète à ce problème
Collin
Merci pour une belle réponse et celle qui m'a probablement sauvé quelques heures de déconner. +1
Angry 84
20

Pour toute personne ayant besoin d'instructions plus détaillées, consultez cette page: http://help.github.com/working-with-key-passphrases/

Franz
la source
Exactement ce dont j'avais besoin pour utiliser le msysgitshell.
arthurakay
1
A travaillé pour moi lors de l'utilisation de l'application de bureau Git Bash. J'ai utilisé notepad ~/.profileet copié le contenu de ce lien, redémarré le Git Bash, entré mon mot de passe, profité ...
Daryn
J'ai suivi la section "Lancement automatique de ssh-agent sur Git pour Windows" (en utilisant git 2.x sur Win 10) mais il m'a quand même demandé un mot de passe tout le temps. Après la première solution (mastic) de la réponse acceptée, cela a résolu pour moi.
jakub.g
20

Si vous utilisez Git bash sous Windows, vous pouvez effectuer les opérations suivantes:

eval `ssh-agent -s`
ssh-add ~/.ssh/*_rsa

il demandera une phrase de passe dans la deuxième commande, et c'est tout. Chaque action supplémentaire que vous devrez faire (qui une fois la phrase de passe requise) ne vous demandera pas la phrase de passe (voir un exemple dans la capture d'écran ci-dessous):

ajout d'une phrase de passe dans Git bash sous Windows

Guy Avraham
la source
2
Cela fonctionne également dans le sous-système Ubuntu sous Windows 10.
Meetar
1
notez que si votre paire de clés est située ailleurs, vous pouvez remplacer ~ / .ssh / * _ rsa par le chemin du fichier * .pem
alex_danielssen
13

Une solution supplémentaire 5 ans, 8 mois et 6 jours après la publication de la question ne serait pas une mauvaise idée, alors voilà.

REMARQUE: suppose que vous utilisez un ordinateur Windows.

  1. Téléchargez le git-credential-winstore .
  2. Exécuter! Si vous avez GIT dans votre PATHvariable d'environnement, cela devrait fonctionner. Si vous ne le faites pas, courez git-credential-winstore -i C:\Path\To\Git.exe.

La prochaine fois que vous tenterez de vous engager dans un référentiel, vous serez invité à entrer vos informations d'identification. Ça devrait être ça. Vous ne serez plus invité à fournir vos informations d'identification tant que vous n'aurez pas changé votre mot de passe.


Juste pour votre connaissance ... Vos informations d'identification sont stockées dans le magasin d'informations d'identification Windows

Où stockez-vous mes informations d'identification?

Cette application utilise simplement le magasin d'informations d'identification Windows existant pour conserver vos informations d'identification. Vous pouvez voir les informations d'identification stockées en accédant à Panneau de configuration> Comptes d'utilisateurs> Gestionnaire d'informations d'identification et en choisissant «Informations d'identification Windows». Les entrées commençant par "git:" proviennent de git-credential-winstore.

Alex Essilfie
la source
8
Cette solution semble ne pas fonctionner avec les dépôts SSH, uniquement HTTPS. / angryface
JasonCoder
8

Si vous définissez un mot de passe pour votre fichier de clé, vous devrez toujours le saisir lors de la connexion. Si vous créez une clé sans mot de passe, vous n'aurez pas à la taper à chaque fois, cependant, toute personne ayant accès à votre fichier de clé peut désormais se connecter à votre compte github.

ssh-agent peut également fonctionner. Essayez de l'exécuter et voyez s'il se souviendra de votre phrase secrète.

Grant Limberg
la source
l'exécution ssh-keygen -pdevrait permettre à l'OP de ne définir aucune phrase de passe
luchosrock
Demande toujours de mot de passe.
versedi
7

[modifier - mal interpréter la question, c'est une réponse à un problème connexe. laissant la version reformulée pour la postérité]

Mon cas était que j'essayais de pousser vers un dépôt hébergé sur l'un de nos serveurs. Chaque fois que j'essayais de faire un push, git me demandait mon mot de passe (nb - password, pas la phrase de passe de ma clé privée).

En ajoutant ma clé publique aux clés autorisées sur le serveur, j'ai pu obtenir des push sans mot de passe vers ce serveur. Et, comme il n'y avait pas de mot de passe sur ma clé privée (ce qui est une mauvaise pratique d'ailleurs!), Je n'ai rien eu à taper du tout.

Voici la commande pour ajouter votre clé publique à un serveur. Il suppose que l'utilisateur gitest l'utilisateur sur le serveur.

cat .ssh/id_rsa.pub | ssh git@GIT_MASTER_IP 'cat >> .ssh/authorized_keys'

Vous pouvez obtenir la même chose en vous connectant au serveur et en ajoutant manuellement votre clé publique au fichier à l'adresse ~/.ssh/authorized_keys

hwjp
la source
Pourriez-vous convertir cela en une description utilisable par quelqu'un qui n'a pas accès à un shell? Par exemple, que devrions-nous mettre dans authorised_keys en utilisant le bloc-notes ou similaire?
John Little
4

Je me rends compte que cela se fait depuis plusieurs années, mais je suis tombé sur cette question en essayant de trouver une solution, et j'ai trouvé quelque chose qui convient à tous les niveaux d'expertise, alors j'ai pensé partager.

GitHub fournit un programme d'installation très utile qui rend tout agréable et facile: https://help.github.com/articles/caching-your-github-password-in-git/

roobeedeedada
la source
Veuillez noter que cela met en cache votre mot de passe GitHub , pas une phrase de passe de clé GPG.
Judge2020
4

Supposons que vous souhaitiez utiliser une solution uniquement Git Bash sans utiliser TortoiseGit ou PuTTY. De plus, vous ne voulez pas stocker vos phrases de passe de manière permanente car c'est presque la même chose que si vous auriez généré votre clé SSH sans phrase de passe en premier lieu. Mais vous souhaitez toujours utiliser une certaine mise en cache.

À des fins de mise en cache, le ssh-agentprocessus est utilisé, qui est inclus avec la distribution Git Bash. Ce processus n'est pas démarré par défaut, il doit donc être lancé en premier. Pour toutes les clés SSH à mettre en cache, elles doivent être ajoutées à ce processus avec une ssh-addcommande qui vous demandera la phrase de passe d'une clé et la stockera en mémoire.

Inconvénients des autres solutions:

  • Le lancement automatique ssh-agentcomme dans l' article de GitHub demande une phrase secrète dès le début lorsque vous lancez Git Bash, que vous deviez utiliser votre clé SSH cette session ou non. Si vous travaillez avec votre dépôt local aujourd'hui, vous voudrez probablement fournir une phrase de passe uniquement lorsque cela est vraiment nécessaire (par exemple lors de l'interaction avec un dépôt distant).
  • Si vous lancez votre article ssh-agentcomme dans GitLab avec eval $(ssh-agent -s)vous êtes probablement fatigué de le taper à chaque fois. Il y a de fortes chances que vous ayez finalement ajouté ces deux lignes à votre .bashrcconfiguration pour le lancement automatique. Les inconvénients sont les mêmes que ci-dessus plus un supplémentaire: chaque fois que vous lancez un nouveau terminal Git Bash, vous obtiendrez un processus ssh-agent supplémentaire (le script bash de GitHub vérifie si ce processus a déjà commencé).
  • Comme les deux ci-dessus mais surtout quand vous avez des clés SSH séparées pour différents hôtes, par exemple une pour GitHub et une autre pour GitLab, donc les fournir toutes en même temps est ennuyeux et peu pratique.

Cette solution est donc destinée à ceux qui se demandent comment faire en sorte que Git Bash ne demande une phrase de passe qu'une seule fois par session Windows et uniquement lorsque cela est vraiment nécessaire. Cela ressemble au comportement de la gestion des mots de passe avec GnuPG commits la signature automatique en utilisant default-cache-ttl.

Configuration de SSH pour demander des phrases de passe une fois, si nécessaire, en utilisant uniquement Git Bash

  1. Tout d'abord, nous voulons lancer automatiquement le ssh-agentlors du démarrage d'un shell Git Bash. Nous utiliserons un script de GitHub modifié pour cela car il vérifie si le processus a déjà commencé, mais nous ne voulons pas qu'il se ssh-addtouche tout de suite. Ce script va à votre ~/.bashrcou ~/.profileou ~/.bash_profile( ~est le répertoire personnel de votre utilisateur comme C:\Users\Username- exécutez cd ~et ensuite pwdpour que Git Bash l'imprime):

    ### Start ssh-agent
    
    env=~/.ssh/agent.env
    
    agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
    
    agent_start () {
        (umask 077; ssh-agent >| "$env")  # use -t here for timeout
        . "$env" >| /dev/null ; }
    
    agent_load_env
    
    # agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
    agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
    
    if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
        agent_start
    fi
    
    unset env
  2. Maintenant, éditez ou créez un ~/.ssh/configfichier et ajoutez une AddKeysToAgentoption pour chaque strophe d'hôte pour laquelle vous souhaitez activer la mise en cache (vous pouvez également l'activer globalement en plaçant la directive au début du fichier avant toutes les déclarations d'hôte):

    # GitHub.com
    Host github.com
      Preferredauthentications publickey
      IdentityFile ~/.ssh/id_ed25519_github
      AddKeysToAgent yes
    
    # GitLab.com
    Host gitlab.com
      Preferredauthentications publickey
      IdentityFile ~/.ssh/id_ed25519_gitlab
      AddKeysToAgent yes

    Depuis la page de manuel ssh config : Si cette option est définie sur yes et qu'une clé est chargée à partir d'un fichier, la clé et sa phrase de passe sont ajoutées à l'agent avec la durée de vie par défaut, comme si par ssh-add (1).

La durée de vie maximale par défaut est éternelle ou jusqu'à ce que le ssh-agentprocessus soit tué (manuellement à partir du gestionnaire de tâches ou lorsque votre PC est éteint). Si vous souhaitez utiliser un délai d'expiration fini, vous pouvez le définir avec le -tparamètre ssh-agent . Modifiez la ligne dans le script bash à partir de la première étape ci-dessus, par exemple pour une durée de vie de 30 minutes du cache de clés:

(umask 077; ssh-agent -t 30m >| "$env")

Voir ici pour d'autres qualificatifs de format d'heure.

Nikolay Kotlyarov
la source
3

Vous pouvez créer un .bashrcfichier dans le répertoire personnel de votre utilisateur comme C:/Users/youruser, et y mettre:

env=~/.ssh/agent.env

agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }

agent_start () {
    (umask 077; ssh-agent >| "$env")
    . "$env" >| /dev/null ; }

agent_load_env

# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)

if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
    agent_start
    ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
    ssh-add
fi

unset env

Ce script s'exécute à chaque fois après l'exécution de bash. Vous n'aurez donc besoin de saisir le mot de passe qu'une seule fois, au git-bashdémarrage!

Certaines versions de bash nécessitent un .bash_profilefichier à la place .bashrc, donc juste en cas de clonage .bashrc:

copy .bashrc .bash_profile
Alexandre Gontcharov
la source
1

peut essayer d'ajouter -k arg quand vous le faites;

ssh-add -k ~/.ssh/id_rsa
tarikakyol
la source