SSH キーのパスフレーズについて
SSH キーにより、誰かがあなたのコンピューターにアクセスすると、攻撃者はそのキーを使用するすべてのシステムにアクセスできます。 セキュリティをさらに強化するには、SSH キーにパスフレーズを追加します。 接続するたびにパスフレーズを入力しないようにするために、SSH エージェントにパスフレーズを安全に保存できます。
パスフレーズを追加または変更する
次のコマンドを入力して、鍵ペアを再生成せずに既存の秘密鍵のパスフレーズを変更できます:
$ ssh-keygen -p -f ~/.ssh/id_ed25519
> Enter old passphrase: [Type old passphrase]
> Key has comment 'your_email@example.com'
> Enter new passphrase (empty for no passphrase): [Type new passphrase]
> Enter same passphrase again: [Repeat the new passphrase]
> Your identification has been saved with the new passphrase.
鍵にすでにパスフレーズがある場合は、新しいパスフレーズに変更する前にそれを入力するように求められます。
Git for Windows で ssh-agent
を自動的に起動する
bash または Git シェルを開いたときに、ssh-agent
を自動的に実行できます。 次の行をコピーし、Git シェルの ~/.profile
または ~/.bashrc
ファイルに貼り付けます。
env=~/.ssh/agent.env
agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
agent_start () {
(umask 077; ssh-agent >| "$env")
. "$env" >| /dev/null ; }
agent_load_env
# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2=agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
agent_start
ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
ssh-add
fi
unset env
秘密キーがデフォルトの場所 (~/.ssh/id_rsa
など) に保存されていない場合は、SSH 認証エージェントにその場所を指定する必要があります。 ssh-agent にキーを追加するには、「ssh-add ~/path/to/my_key
」と入力します。 詳しくは、「新しい SSH キーを生成して ssh-agent に追加する」をご覧ください
Tip
しばらくしたら ssh-agent
からキーが消去されるようにしたい場合は、ssh-add -t <seconds>
を実行してそのように構成できます。
最初に Git Bash を実行するとき、パスフレーズを求められます:
> Initializing new SSH agent...
> succeeded
> Enter passphrase for /c/Users/YOU/.ssh/id_rsa:
> Identity added: /c/Users/YOU/.ssh/id_rsa (/c/Users/YOU/.ssh/id_rsa)
> Welcome to Git (version 1.6.0.2-preview20080923)
>
> Run 'git help git' to display the help index.
> Run 'git help <command>' to display help for specific commands.
ssh-agent
プロセスは、ログアウトするか、コンピューターをシャットダウンするか、プロセスを中止するまで実行され続けます。
パスフレーズをキーチェーンに保存する
OS X El Capitan を介する Mac OS X Leopard では、これらのデフォルトの秘密鍵ファイルは自動的に処理されます。
- .ssh/id_rsa
- .ssh/identity
初めてキーを使用するときは、パスフレーズを入力するよう求められます。 キーチェーンと一緒にパスフレーズを保存することを選択した場合は、もう一度入力する必要はありません。
それ以外の場合は、鍵を ssh-agent に追加するときに、パスフレーズをキーチェーンに格納できます。 詳しくは、「新しい SSH キーを生成して ssh-agent に追加する」を参照してください。