新しいキーを作成せずに SSH キーのパスフレーズを削除するにはどうすればよいですか?
-
02-07-2019 - |
解決
短い答え:
$ ssh-keygen -p
次に、キーファイルの場所、古いパスフレーズ、および新しいパスフレーズ (パスフレーズを持たない場合は空白のままにすることもできます) を入力するよう求められます。
プロンプトを表示せずにすべてを 1 行で実行したい場合は、次のようにします。
$ ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
重要: コマンドを実行すると、通常はコマンドがログに記録されることに注意してください。 ~/.bash_history
提供されたすべての引数を含むプレーンテキストのファイル (または同様のもの) (つまり、この場合はパスフレーズです)。したがって、特別な理由がない限り、最初のオプションを使用することをお勧めします。ただし、まだ使用できることに注意してください -f keyfile
指定しなくても -P
または -N
, 、キーファイルのデフォルトは ~/.ssh/id_rsa
, そのため、多くの場合は必要すらありません。
パスフレーズを一時的にキャッシュできる ssh-agent の使用を検討することをお勧めします。gpg-agent の最新バージョンは、ssh-agent で使用されるプロトコルもサポートしています。
他のヒント
以下を .bash_profile (または同等のもの) に追加すると、ログイン時に ssh-agent が起動されます。
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
一部の Linux ディストリビューション (Ubuntu、Debian) では、以下を使用できます。
ssh-copy-id -i ~/.ssh/id_dsa.pub username@host
これにより、生成された ID がリモート マシンにコピーされ、リモート キーチェーンに追加されます。
$ ssh-keygen -p
私のために働きました
git bashを開きました。貼り付けられました: $ ssh-keygen -p
Enter キーを押してデフォルトの場所を指定します。
古いパスフレーズを入力してください
新しいパスフレーズを入力してください - 空白
新しいパスフレーズを確認します - 空白
ドーンと、Git Push のパスフレーズを入力する煩わしさはなくなりました。
ありがとう!