it-swarm.com.de

Wie mache ich git nicht Prompt für Passphrase für SSH-Schlüssel unter Windows?

Ich verwende git bash und richte ssh key mit ssh-keygen ein. Jedes Mal, wenn ich etwas mit einem Repo-Git mache, frage ich nach der Passphrase für /c/Users/jankiewj/.ssh/id_rsa. Gibt es eine Möglichkeit, diese Passphrase zu deaktivieren?.

29
jcubic

Sie können dies in Git Bash ausführen:

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

im zweiten Befehl wird nach einer Passphrase gefragt, und das war's. Jede zusätzliche Aktion, die Sie ausführen müssen (für die einmal eine Passphrase erforderlich war), fordert Sie nicht zur Eingabe der Passphrase auf (siehe Beispiel in der Abbildung unten):

adding pass phrase in git bash on Windows

44
jcubic

Eine etwas bessere und dauerhafte Lösung besteht darin, den ssh-agent beim Öffnen der git bash unter Windows automatisch zu starten. Sie können das Folgende in Ihr .profile oder .bashrc kopieren/einfügen. Ich ziehe es vor, es auf das . -Profil zu setzen

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

Diese Lösung wurde aus diesem Github-Hilfeartikel übernommen.

3
velval

Ich bin nicht sicher, ob ich es empfehlen möchte, aber wenn Sie den Schlüssel erstellen und aufgefordert werden, ein Passwort festzulegen, drücken Sie einfach die Eingabetaste und überspringen Sie das Passwort.

Unter diesem Link erfahren Sie, wie Sie ssh-keygen verwenden: https://help.github.com/articles/working-with-ssh-key-passphrases/

Vielleicht kann ssh-agent dir irgendwie helfen. Aber nicht sicher, ohne Ihr aktuelles System zu kennen.

2
David Bern

Geben Sie diesen git-Befehl in Ihr Repository ein. " ssh-keygen -p " Damit werden Sie aufgefordert, den Speicherort der Schlüsseldatei, die alte Passphrase und das Passwort einzugeben neue Passphrase (die leer gelassen werden kann, um keine Passphrase zu haben). Geben Sie nichts in das neue Passwort ein. Dadurch wird die Passphrase entfernt

0
bharti