如何在不创建新密钥的情况下删除 SSH 密钥的密码?

在笔记本电脑上创建新的 SSH 密钥时,我设置了密码。但是,正如我现在意识到的那样,当您试图在一小时内多次通过 SSH 提交( GitSVN )到远程位置时,这非常痛苦。

我能想到的一种方法是删除我的 SSH 密钥并创建新的。有没有办法删除密码短语,同时仍然保持相同的密钥?

答案

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

$ ssh-keygen -p为我工作

打开 git bash。粘贴: $ ssh-keygen -p

点击 Enter 作为默认位置。

输入旧密码

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
ssh-copy-id -i ~/.ssh/id_dsa.pub username@host
ssh-keygen -p -f id_rsa
Enter old passphrase: 
Key has comment 'bcuser@pl1909'
Enter new passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved with the new passphrase.
ssh-keygen -p -f id_rsa
Key has comment 'charlie@elf-path'
Enter new passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved with the new passphrase.

在 Windows 上,可以使用 PuttyGen 加载私钥文件,删除密码短语,然后覆盖现有的私钥文件。

ssh-keygen -K
UseKeychain yes