Come rimuovo la passphrase per la chiave SSH senza dover creare una nuova chiave?

Ho impostato una passphrase durante la creazione di una nuova chiave SSH sul mio laptop. Ma, come mi rendo conto ora, questo è piuttosto doloroso quando si tenta di commettere ( Git e SVN ) in una posizione remota su SSH molte volte in un’ora.

Un modo a cui riesco a pensare è cancellare le mie chiavi SSH e crearne di nuove. C’è un modo per rimuovere la passphrase, pur mantenendo le stesse chiavi?

Risposta breve:

$ ssh-keygen -p 

Questo ti chiederà quindi di inserire la posizione del file di chiavi, la vecchia passphrase e la nuova passphrase (che può essere lasciata vuota per non avere passphrase).

Se si desidera eseguire tutto su un’unica riga senza fare richieste:

 $ ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile] 

Importante: ~/.bash_history attenzione che durante l’esecuzione dei comandi di solito vengono registrati nel tuo file ~/.bash_history (o simile) in testo semplice, inclusi tutti gli argomenti forniti (ad es. I passphrase in questo caso). Si consiglia pertanto di utilizzare la prima opzione, a meno che non si abbia una ragione specifica per fare diversamente.

Si potrebbe prendere in considerazione l’utilizzo di ssh-agent, che può memorizzare la passphrase per un certo tempo. Le ultime versioni di gpg-agent supportano anche il protocollo utilizzato da ssh-agent.

Potresti voler aggiungere quanto segue al tuo .bash_profile (o equivalente), che avvia ssh-agent all’accesso.

 if [ -f ~/.agent.env ] ; then . ~/.agent.env > /dev/null if ! kill -0 $SSH_AGENT_PID > /dev/null 2>&1; then echo "Stale agent file found. Spawning new agent… " eval `ssh-agent | tee ~/.agent.env` ssh-add fi else echo "Starting ssh-agent" eval `ssh-agent | tee ~/.agent.env` ssh-add fi 

Su alcune distribuzioni Linux (Ubuntu, Debian) puoi usare:

 ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected] 

Questo copierà l’ID generato su una macchina remota e lo aggiungerà al portachiavi remoto.

Puoi leggere di più qui e qui .

$ ssh-keygen -p funzionato per me

Aperto git bash. Incollato: $ ssh-keygen -p

Premi Invio per la posizione predefinita.

Inserisci la vecchia passphrase

Inserisci una nuova passphrase: BLANK

Conferma la nuova passphrase: BLANK

BOOM il dolore di inserire passphrase per git push era sparito.

Grazie!