ラップトップで新しいSSHキーを作成するときにパスフレーズを設定しました。しかし、私が今認識しているように、SSHを使って( Git および _ svn _ )を1時間に何度もコミットしようとすると、これは非常に困難です。
私が考えることができる一つの方法は私のSSHキーを削除して新しいものを作成することです。それでも同じキーを保持したままパスフレーズを削除する方法はありますか?
短い答え:
$ ssh-keygen -p
これにより、キーファイルの場所、古いパスフレーズ、および新しいパスフレーズ(パスフレーズがないように空白のままにすることができます)を入力するように求められます。
あなたがプロンプトなしで一行ですべてをやりたいのなら:
$ 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によって使用されるプロトコルもサポートしています。
ログイン時にssh-agentを起動する.bash_profile(または同等のもの)に以下を追加することをお勧めします。
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
デフォルトの場所を入力してください。
古いパスフレーズを入力
新しいパスフレーズを入力 - BLANK
新しいパスフレーズを確認します - BLANK
Git Push用のパスフレーズを入力するという苦痛はなくなりました。
ありがとうございます。