Ich habe 2 SSH-Schlüssel für 2 verschiedene Konten auf Bitbucket.SSH Key fragt nach dem Start-Agent Passwort eingeben
Die unten ist meine bachrc Datei:
# Note: ~/.ssh/environment should not be used, as it
# already has a different purpose in SSH.
env=$HOME/.ssh/agent.env
# Note: Don't bother checking SSH_AGENT_PID. It's not used
# by SSH itself, and it might even be incorrect
# (for example, when using agent-forwarding over SSH).
agent_is_running() {
if [ "$SSH_AUTH_SOCK" ]; then
# ssh-add returns:
# 0 = agent running, has keys
# 1 = agent running, no keys
# 2 = agent not running
ssh-add ~/.ssh/id_rsa ~/.ssh/id_rsa_2 -l >/dev/null 2>&1 || [ $? -eq 1 ]
else
false
fi
}
agent_has_keys() {
ssh-add -l >/dev/null 2>&1
}
agent_load_env() {
. "$env" >/dev/null
}
agent_start() {
(umask 077; ssh-agent >"$env")
. "$env" >/dev/null
}
if ! agent_is_running; then
agent_load_env
fi
# if your keys are not stored in ~/.ssh/id_rsa or ~/.ssh/id_dsa, you'll need
# to paste the proper path after ssh-add
if ! agent_is_running; then
agent_start
ssh-add ~/.ssh/id_rsa ~/.ssh/id_rsa_2
elif ! agent_has_keys; then
ssh-add ~/.ssh/id_rsa ~/.ssh/id_rsa_2
fi
unset env
agent_stop() {
if [ ${SSH_AGENT_PID+1} == 1 ]; then
ssh-add -D
ssh-agent -k > /dev/null 2>&1
unset SSH_AGENT_PID
unset SSH_AUTH_SOCK
fi
}
agent_stop
Warum nenne ich agent_stop?
Das ist zum Testen. Ich habe herausgefunden, dass beim Aufruf von agent_stop alle ssh-Schlüssel aus dem Agenten entfernt werden und beim erneuten Öffnen von git bash der Agent automatisch ssh-Schlüssel hinzufügt.
Aber nur id_rsa ruft keine Passphrase auf, die Eingabeaufforderung id_rsa_2 immer.
P/S: Der öffentliche Schlüssel von id_rsa_2 wird auf Bitbucket hinzugefügt.
Was fehlt mir dafür?
Passphrase wird aufgefordert, da Sie eine Passphrase eingeben, wenn Schlüsselpaare generiert werden, IMHO. – gzh
Hallo @gzh: Wir alle tun das, wenn ssh von ssh-keygen generieren. Wie können wir das überwinden? –
Wenn Sie ssh-keygen ausführen, werden Sie in einem Schritt gefragt, ob Sie eine Passphrase benötigen. Sie können auf die Eingabetaste klicken, um eine Passphrase zu überspringen oder einzugeben, wenn mein Speicher korrekt funktioniert. – gzh