Domanda

Ho impostato una passphrase durante la creazione di una nuova chiave SSH sul mio laptop. Ma, come mi rendo conto ora, questo è abbastanza doloroso quando stai cercando di impegnarti ( Git e SVN ) in una posizione remota su SSH molte volte in un'ora.

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

È stato utile?

Soluzione

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 vuoi fare tutto su una riga senza istruzioni, fai:

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

Importante: fai attenzione che quando eseguono i comandi in genere verranno registrati nel tuo file ~ / .bash_history (o simile) in testo normale, inclusi tutti gli argomenti forniti (es. passphrase in questo caso). Si consiglia pertanto di utilizzare la prima opzione a meno che non si abbia un motivo specifico per fare diversamente. Si noti tuttavia che è ancora possibile utilizzare -f keyfile senza dover specificare -P -N e che il file di chiavi è predefinito su ~ / .ssh / id_rsa , quindi in molti casi non è nemmeno necessario.

Potresti prendere in considerazione l'uso di ssh-agent, che può memorizzare la passphrase per un certo periodo di tempo. Le ultime versioni di gpg-agent supportano anche il protocollo utilizzato da ssh-agent.

Altri suggerimenti

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 distro Linux (Ubuntu, Debian) puoi usare:

ssh-copy-id -i ~/.ssh/id_dsa.pub username@host

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 ha funzionato per me

Git bash aperto. Incollato: $ ssh-keygen -p

Premi invio per posizione predefinita.

Inserisci la vecchia passphrase

Inserisci una nuova passphrase - BLANK

Conferma nuova passphrase - BLANK

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

Grazie!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top