ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。
記事のバージョン: GitHub.com

SSH キーパスフレーズを使う

SSH キーを使用するたびにパスフレーズを再入力する必要がないように、SSH キーを保護し、認証エージェントを設定できます。

SSH キーにより、誰かがあなたのコンピュータにアクセスすると、そのキーを使用するすべてのシステムにもアクセスすることになります。 セキュリティをさらに強化するには、SSH キーにパスフレーズを追加します。 パスフレーズを安全に保存するために ssh-agent を使用すると、パスフレーズを再入力する必要がありません。

パスフレーズを追加または変更する

次のコマンドを入力して、鍵ペアを再生成せずに既存の秘密鍵のパスフレーズを変更できます:

$ ssh-keygen -p
# SSH キー作成プロセスを開始します
> Enter file in which the key is (/Users/you/.ssh/id_rsa): [Hit enter]
> Key has comment '/Users/you/.ssh/id_rsa'
> Enter new passphrase (empty for no passphrase): [Type new passphrase]
> Enter same passphrase again: [One more time for luck]
> Your identification has been saved with the new passphrase.

鍵にすでにパスフレーズがある場合は、新しいパスフレーズに変更する前にそれを入力するように求められます。

Git for Windows で ssh-agent を自動的に起動する

GitHub Desktop とともにインストールされた Git Shell を使用している場合は、次の手順に従う必要はありません。 GitHub Desktop は自動的に 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

秘密鍵がデフォルトの場所 (~/.ssh/id_rsa or ~/.ssh/id_dsa) に保存されていない場合は、SSH 認証エージェントにそれがどこにあるかを指定する必要があります。 キーを ssh-agent に追加するには、ssh-add ~/path/to/my_key と入力します。 詳細は「新しい SSH キーを生成して ssh-agent に追加する」を参照してください。

参考: しばらくしてから、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.
> 「git help 」を実行して、特定のコマンドのヘルプを表示します。

ssh-agent プロセスは、ログアウトするか、コンピュータをシャットダウンするか、プロセスを強制終了するまで実行され続けます。

パスフレーズをキーチェーンに保存する

OS X El Capitan を介する OS X Leopard では、これらのデフォルトの秘密鍵ファイルは自動的に処理されます:

  • .ssh/id_rsa
  • .ssh/id_dsa
  • .ssh/identity

初めてキーを使用するときは、パスフレーズを入力するよう求められます。 キーチェーンと一緒にパスフレーズを保存することを選択した場合は、もう一度入力する必要はありません。

それ以外の場合は、鍵を ssh-agent に追加するときに、パスフレーズをキーチェーンに格納できます。 詳細は「SSH キーを ssh-agent に追加する」を参照してください。

参考リンク

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください