it-swarm-eu.dev

Jak odstraním heslo pro klíč SSH, aniž by bylo nutné vytvořit nový klíč?

Při tvorbě nového klíče SSH na svém notebooku jsem nastavil heslo. Ale jak jsem si uvědomil teď, je to docela bolestivé, když se snažíte spáchat ( Git a SVN ) na vzdáleném místě přes SSH mnohokrát za hodinu.

Jedním ze způsobů, jak mohu myslet, je smazat klíče SSH a vytvořit nové. Existuje způsob, jak odstranit přístupovou frázi, a přitom stále držet stejné klíče?

818
btbytes

Stručná odpověď:

$ ssh-keygen -p

Poté budete vyzváni k zadání umístění klíče, staré přístupové fráze a nové přístupové fráze (která může být ponechána prázdná, aby neobsahovala žádné heslo).

Pokud to chcete udělat na jednom řádku bez výzev, postupujte takto:

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

Důležité: Dbejte na to, aby při provádění příkazů byly obvykle zapisovány do vašeho souboru ~/.bash_history (nebo podobného) do prostého textu včetně všech poskytnutých argumentů (tj. Přístupových frází v tomto případě). Proto se doporučuje, abyste použili první možnost, pokud nemáte konkrétní důvod jinak. Všimněte si však, že můžete stále používat -f keyfile, aniž byste museli zadávat -P ani -N, a že soubor keyfile má výchozí hodnotu ~/.ssh/id_rsa, takže v mnoha případech to ani není potřeba.

Možná budete chtít zvážit použití ssh-agenta, který může dočasně ukládat do mezipaměti přístupovou frázi. Nejnovější verze gpg-agent také podporují protokol, který používá ssh-agent.

1574
Torsten Marek

Možná budete chtít přidat následující do svého .bash_profile (nebo ekvivalentu), který spustí ssh-agent při přihlášení.

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

Na některých linkách Linuxu (Ubuntu, Debian) můžete použít:

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

Toto zkopíruje vygenerované ID do vzdáleného počítače a přidá jej do vzdálené klíčenky.

Můžete si přečíst více zde a zde .

33
mlambie

$ ssh-keygen -p pracoval pro mě

Otevřel git bash. Vloženo: $ ssh-keygen -p

Pro zadání výchozího umístění stiskněte klávesu Enter.

Zadejte staré heslo

Zadejte nové heslo - BLANK

Potvrďte nové heslo - BLANK

BOOM bolest zadávání passphrase pro git Push byla pryč.

Dík!

19
Karan