SSH キーをセットアップする

SSH キーの設定時には、秘密キー (ローカル コンピューターに保存) と公開キー (Bitbucket にアップロード) を含むキー ペアを作成します。Bitbucket は、関連付けられているアカウントがアクセスできるすべてに対する認証にキー ペアを使用します。この双方向のメカニズムが中間者攻撃を防止します。

この最初のキー ペアが既定の SSH ID です。既定の ID 以外にキーが必要な場合、追加のキーを設定できます。

セキュリティ上の理由から、少なくとも年に一度は新しい SSH 鍵を生成し、アカウントの既存の鍵と交換することをお勧めします。

複数のアカウントで同じキーを使用することはできません。各 Bitbucket アカウントに対して新しいキーを作成する必要があります。

Windows で Git 用の SSH をセットアップする

Windows で Git を使用していて、既定の ID と SSH キーを作成するには、このセクションを参照してください。既定では、すべてのアイデンティティ用のキーは /Users//.ssh ディレクトリに追加されます。

ステップ 1. 既定の ID をセットアップする

  1. コマンド ラインで、「ssh-keygen」と入力します。

Windows 7 以前の場合

ssh-keygen」は Git Bash ウィンドウにのみ入力できます。コマンド プロンプトでは使用できません。

このコマンドでは、キーの保存先ファイルの指定を求めるプロンプトが表示されます。

$ ssh-keygen
公開 / 非公開の rsa キーペアを生成します。
キーを保存するファイルの場所を入力します (/c/Users/emmap1/.ssh/id_rsa):

2. Enter キーを押して、既定のキーとパス、/c/Users//.ssh/id_rsa を承認します。

特別な理由がある場合を除き、既定のキー名の使用をおすすめします。既定以外の名前やパスでキーを作成するには、キーのフル パスを指定します。たとえば、my-new-ssh-key というキーを作成するには、Windows のパスを次のように入力します。

$ ssh-keygen
公開 / 非公開の rsa キーペアを生成します。
キーを保存するファイルの場所を入力します (/c/Users/emmap1/.ssh/id_rsa): c:\Users\emmap1\.ssh\my-new-ssh-key

3. プロンプトで、パスフレーズの入力と再入力を行います。

このコマンドは、ユーザーの既定の ID を、公開キーと秘密キーで作成します。全体の流れは次のようになります。

$ ssh-keygen
公開 / 非公開の rsa キーペアを生成します。
キーを保存するファイルの場所を入力します (/c/Users/emmap1/.ssh/id_rsa):
ディレクトリ「/c/Users/emmap1/.ssh」が作成されます。
パスフレーズを入力します (パスフレーズがない場合は空白)。
同じパスフレーズをもう一度入力します。
/c/Users/emmap1/.ssh/id_rsa に ID が保存されます。
/c/Users/emmap1/.ssh/id_rsa.pub に公開キーが保存されます。
キーのフィンガープリント: e7:94:d1:a3:02:ee:38:6e:a4:5e:26:a3:a9:f4:95:d4 emmap1@EMMA-PC

4. .ssh の内容を一覧にして、キー ファイルを表示します。

次のように表示されるはずです。

$ dir .ssh
id_rsa id_rsa.pub

コマンドは 2 つのファイルを表示します。1 つは公開キー用 (id_rsa.pub など) で、もう 1 つは秘密キー用 (id_rsa など) です。

ステップ 2. ssh-agent にキーを追加する

キーを使用するたびにパスワードを入力したくない場合は、情報を ssh-agent に追加する必要があります。

  1. エージェントを開始するには、以下を実行します。

    $ eval $(ssh-agent)
    Agent pid 9700

  2. ssh-add」に続けて、秘密キー ファイルへのパスを入力します。

    $ ssh-add ~/.ssh/<private_key_file>

ステップ 3. アカウント設定に公開キーを追加する

  1. Bitbucket で、左下にあるアバターから [個人設定] を選択します。

  2. [SSH キー] をクリックします。 追加済みのキーがある場合、このページに表示されます。

  3. .ssh/id_rsa.pub ファイル (または任意の別の名前を指定した公開キー ファイル) を開き、コンテンツをコピーします。
    最後の行にメール アドレスが表示される場合があります。メール アドレスを含めるかどうかは任意です。

  4. Bitbucket で [キーの追加] をクリックします。

  5. 新しいキーの [ラベル] を入力します (例: 「既定の公開キー」など)。

  6. コピーした公開キーを [SSH キー] フィールドに貼り付けます。

  7. [保存] をクリックします。
    Bitbucket からキーの追加を確認するメールがユーザーに送信されます。

  8. コマンド ラインに戻り、次のコマンドを入力して構成とユーザー名を確認します。

    $ ssh -T git@bitbucket.org

    そのキーを使用してログインできる Bitbucket アカウントが表示されます。

    1 2 3 4 5 conq: logged in as emmap1. You can use git or hg to connect to Bitbucket. Shell access is disabled.

    Permission denied (public key) というエラー メッセージが表示される場合、「SSH の問題のトラブルシューティング」ページを参照してください。

SSH キーのセットアップが完了したため、次回のリポジトリのクローン時に SSH URL を使用できます。HTTPS を経由してクローンしたリポジトリが既にある場合、SSH URL を使用するようにリポジトリのリモート URL を変更します。

SSH キーを編集する

キーを追加したあとは、そのキーのラベルを編集することはできますが、キー自体を編集することはできません。キーのコンテンツを変更するには、キーを削除してから、再度追加する必要があります。

macOS/Linux での SSH のセットアップ

このセクションを参照しながら macOS または Linux で既定の ID と SSH キーを作成してください。キーの既定の追加場所は、macOS では /Users/<yourname>/.ssh ディレクトリ、Linux では /home/<username>/.ssh になります。

ステップ 1. 既定の ID をセットアップする

1. 端末から、コマンド ラインに ssh-keygen を入力します。
このコマンドでは、キーの保存先ファイルの指定を求めるプロンプトが表示されます。

$ ssh-keygen
公開 / 非公開の rsa キーペアを生成します。
キーを保存するファイルの場所を入力します (/Users/emmap1/.ssh/id_rsa):

2. Enter キーまたは Return キーを押して、既定の場所を承認します。

特別な理由がある場合を除いて、既定のキー名を使用することをお勧めします。

既定以外の名前またはパスを持つキーを作成するには、キーのフルパスを指定します。たとえば、my-new-ssh-key というキーを作成するには、プロンプトで次のようなパスを入力します。

$ ssh-keygen
公開 / 非公開の rsa キーペアを生成します。
キーを保存するファイルの場所を入力します (/Users/emmap1/.ssh/id_rsa):/Users/emmap1/.ssh/my-new-ssh-key

3. プロンプトが表示されたら、パスフレーズの入力と再入力を行います。
このコマンドは、ユーザーの既定の ID を、公開キーと秘密キーで作成します。全体の流れは、次のようになります。

$ ssh-keygen
公開 / 非公開の rsa キーペアを生成します。
キーを保存するファイルの場所を入力します (/Users/emmap1/.ssh/id_rsa):
ディレクトリ「/Users/emmap1/.ssh」が作成されます。
パスフレーズを入力します (パスフレーズがない場合は空白)。
同じパスフレーズをもう一度入力します。
/Users/emmap1/.ssh/id_rsa に ID が保存されます。
/Users/emmap1/.ssh/id_rsa.pub に公開キーが保存されます。
キーのフィンガープリント:
4c:80:61:2c:00:3f:9d:dc:08:41:2e:c0:cf:b9:17:69 emmap1@myhost.local
キーの randomart イメージ:
+--[ RSA 2048]----+
|*o+ooo.          |
|.+.=o+ .         |
|. *.* o .        |
| . = E o         |
|    o .S        |
|   . .           |
|     .           |
|                 |
|                 |
+-----------------+

4. ~/.ssh の内容を一覧にして、キー ファイルを表示します。

$ ls ~/.ssh
id_rsa id_rsa.pub

コマンドは 2 つのファイルを表示します。1 つは公開キー用 (id_rsa.pub など) で、もう 1 つは秘密キー用 (id_rsa など) です。

ステップ 2. ssh-agent にキーを追加する

キーを使用するたびにパスワードを入力したくない場合は、情報を ssh-agent に追加する必要があります。

  1. エージェントを開始するには、以下を実行します。

    $ eval `ssh-agent`
    Agent pid 9700

  2. ssh-add」に続けて、秘密キー ファイルへのパスを入力します。

    macOS $ ssh-add -K ~/.ssh/<private_key_file>

    Linux $ ssh-add ~/.ssh/<private_key_file>

  3. (macOS のみ) コンピューターが再起動した際にパスワードを記憶するよう、~/.ssh/config ファイルを開き (または作成し)、ファイルに次の行を追加します。

    1 2 Host * UseKeychain yes

ステップ 3. アカウント設定に公開キーを追加する

  1. Bitbucket で、左下にあるアバターから [個人設定] を選択します。

  2. [SSH キー] をクリックします。
    追加済みのキーがある場合は、このページに表示されます。

  3. ターミナル ウィンドウで、公開キー ファイルの内容をコピーします。キーの名前を変更した場合、id_rsa.pubを公開キーのファイル名で置き換えます。

    Linux の場合、内容を cat 出力できます。

    $ cat ~/.ssh/id_rsa.pub

    macOS の場合、次のコマンドを使用して出力をクリップボードにコピーします。

    $ pbcopy < ~/.ssh/id_rsa.pub

  4. キーの出力を選択してクリップボードにコピーします。
    コピー アンド ペーストがうまくできない場合は、ノートパッドでファイルを直接開くことができます。ファイルの内容を選択します (ファイル終了記号を選択しないようにご注意ください)。

  5. Bitbucket で [キーの追加] をクリックします。

  6. 新しいキーの [ラベル] を入力します (例: 「既定の公開キー」など)。

  7. コピーした公開キーを [SSH キー] フィールドに貼り付けます。
    貼り付けると、最後の行にメール アドレスが表示される場合があります。キーにメール アドレスを含めるかどうかは任意です。

  8. [保存] をクリックします。
    Bitbucket からキーの追加を確認するメールがユーザーに送信されます。

  9. ターミナル ウィンドウに戻り、次のコマンドを入力して構成とユーザー名を確認します。

    $ ssh -T git@bitbucket.org

    そのキーを使用してログインできる Bitbucket アカウントが表示されます。

    1 2 3 4 5 conq: logged in as emmap1. You can use git or hg to connect to Bitbucket. Shell access is disabled.

    Permission denied (public key) というエラー メッセージが表示される場合、「SSH の問題のトラブルシューティング」ページを参照してください。

SSH キーのセットアップが完了したため、次回のリポジトリのクローン時に SSH URL を使用できます。HTTPS を経由してクローンしたリポジトリが既にある場合、ご使用のリポジトリのリモート URL を変更してこの SSH URL を使用します

SSH キーを編集する

キーを追加したあとは、そのキーのラベルを編集することはできますが、キー自体を編集することはできません。キーのコンテンツを変更するには、キーを削除してから、再度追加する必要があります。

Sourcetree on Windows での SSH のセットアップ

Sourcetree を使用して SSH キーを生成するには、このセクションを参照してください。Sourcetree で SSH キーを作成する場合、ローカル側の任意の場所に公開キーおよび秘密キーを保存できます。保存場所として SSH ディレクトリを作成しておくと、必要なときにいつでも SSH キーを参照できます。

ステップ 1. Sourcetree をインストールして Bitbucket アカウントを追加する

  1. Sourcetree をまだインストールしていない場合は、https://www.sourcetreeapp.com/ に進み、[Download free] ボタンをクリックします。

  2. .exe ファイルをクリックして、Sourcetree をインストールします。詳細は、「Sourcetree のインストール」ページを参照してください。

    1. インストール後、[SSH キーをロードしますか?] というダイアログが表示される場合があります。キーを持っておらず、Sourcetree を使用してキーを作成する場合は、[いいえ] をクリックします。

  3. アカウントを追加し、[SSH] を優先プロトコルとして選択します。設定中にアカウントに接続しない場合は、[リモート] をクリックして [リモート リポジトリ] ページを開き、[アカウントの追加] をクリックします。

ステップ 2. SSH キーを作成する

  1. [ツール] で、[SSH キーの作成またはインポート] を選択します。

  2. [PuTTY キー ジェネレーター] ダイアログで、[生成] ボタンをクリックします。

  3. SSH キーの生成中は、カーソルをダイアログの空白領域に置いてください。生成には 1 〜 2 分かかる場合があります。
    SSH キーの生成が完了すると、公開キーとその他の複数のフィールドが表示されます。

  4. [キー パスフレーズ] と [パスフレーズの確認] フィールドで、SSH キーのパスフレーズを入力します。

  5. [公開キーを保存] をクリックします。保存ダイアログで、公開キーを保存する場所を選択し、.pub ファイル拡張子を付けてファイルに名前を付け、[保存] をクリックします。

  6. [秘密キーを保存] をクリックします。保存ダイアログで、秘密キーを保存する場所を選択し、ファイルの名前を付け、[保存] をクリックします。

  7. [PuTTY キー ジェネレーター] ダイアログを閉じます。

ステップ 3. Pageant に秘密キーをインストールする

Sourcetree には Pageant という SSH 認証エージェントが付属しています。秘密キーを Pageant にロードして自動認証することで、パスフレーズの入力は不要になります。

  1. システム トレイで Pageant (PuTTY 認証エージェント) アイコンをダブルクリックして [Pageant Key List] ダイアログを開きます。

  2. [キーの追加] ボタンをクリックして [秘密キー ファイルの選択] ダイアログを開きます。

  3. ステップ 1 で保存した秘密キー ファイルに移動して、[Open] をクリックします。

  4. SSH キーのパスフレーズを入力して [OK] をクリックします。
    Pageant によって実行中のリストにご使用のキーが表示されます。

  5. [閉じる] をクリックします。

ステップ 4. アカウント設定に公開キーを追加する

  1. Sourcetree で、[ツール] > [SSH キーの作成またはインポート] に進み、[PuTTY キー ジェネレーター] ダイアログを開きます。

  2. [ロード] をクリックし、SSH フォルダに移動して、秘密キーをクリックします。秘密キーが表示されていない場合、すべてのファイルを表示していることを確認します。

  3. SSH キーのパスフレーズを入力し、[OK] をクリックします。

  4. 最初のフィールドに公開キーをコピーします。

  5. Bitbucket で、左下にあるアバターから [個人設定] を選択します。
    [アカウント設定] ページが開きます。

  6. [SSH キー] をクリックします。
    追加済みのキーがある場合は、このページに表示されます。

  7. [キーの追加] をクリックします。

  8. 新しいキーの [ラベル] を入力します (例: 「既定の公開キー」など)。

  9. コピーした公開キーを [SSH キー] フィールドに貼り付けます。

  10. [保存] をクリックします。
    Bitbucket からキーの追加を確認するメールがユーザーに送信されます。

SSH キーのセットアップが完了したため、次回のリポジトリのクローン時に SSH URL を使用できます。HTTPS を経由してクローンしたリポジトリが既にある場合、SSH URL を使用するようにリポジトリのリモート URL を変更します。

SSH キーを編集する

キーを追加したあとは、そのキーのラベルを編集することはできますが、キー自体を編集することはできません。キーのコンテンツを変更するには、キーを削除してから、再度追加する必要があります。

Sourcetree on macOS での SSH のセットアップ

macOS の Sourcetree で SSH キーを作成する場合は、作成できるキーは 1 つのみです。追加のキーが必要な場合は、コマンド ラインを使用する必要があります。

ステップ 1. Sourcetree をインストールして Bitbucket アカウントを追加する

  1. Sourcetree をまだインストールしていない場合は、https://www.sourcetreeapp.com/ に進み、[Download free] ボタンをクリックします。

  2. ZIP ファイルを開いて Sourcetree をインストールします。詳細は、Sourcetree のインストール ページを参照してください。

  3. セットアップ中にアカウントに接続しない場合は、Sourcetree メニューから [設定] を選択して [アカウント] タブからキーを追加できます。

ステップ 2. SSH キーを作成する

アカウントの SSH キーがない場合、次のステップに従います。SSH キーを持っていて、新しくキーを生成したい場合、Sourcetree を使用して 2 つ目のキーを作成することはできないため、ターミナルを使用する必要があります

SSH キーの作成は次のようになります。

  1. Sourcetree で、[設定] を選択します。

  2. [アカウント] タブをクリックし、SSH キーを追加するアカウントを選択してから [編集] をクリックします。

  3. [プロトコル] を [SSH] に変更します (まだ選択されていない場合)。

  4. キーボードの OPTION キーを押すと、[キーの生成] ボタンが表示されます。

    Sourcetree でこのアカウントの SSH キーを生成済みの場合、OPTION キーは機能しません。既存のキーを使用するか、ターミナルから別のキーを生成します

  5. [キーを生成] をクリックします。

  6. [パスフレーズ] および [パスフレーズの確認] フィールドに SSH キーのパスフレーズを入力します。

  7. 作成をクリックします。

ステップ 3. アカウント設定に公開キーを追加する

  1. Bitbucket で、左下にあるアバターから [個人設定] を選択します。
    [アカウント設定] ページが開きます。

  2. [SSH キー] をクリックします。
    追加済みのキーがある場合は、このページに表示されます。

  3. Sourcetree の [アカウント] タブでアカウントを選択します。

  4. [クリップボードにコピー] ボタンをクリックして公開 SSH キーをコピーします。

  5. Bitbucket で [キーの追加] をクリックします。

  6. 新しいキーの [ラベル] を入力します (例: 「既定の公開キー」など)。

  7. コピーした公開キーを [SSH キー] フィールドに貼り付けます。

  8. [保存] をクリックします。
    Bitbucket からキーの追加を確認するメールがユーザーに送信されます。

SSH キーのセットアップが完了したため、次回のリポジトリのクローン時に SSH URL を使用できます。HTTPS を経由してクローンしたリポジトリが既にある場合、SSH URL を使用するようにリポジトリのリモート URL を変更します。

SSH キーを編集する

キーを追加したあとは、そのキーのラベルを編集することはできますが、キー自体を編集することはできません。キーのコンテンツを変更するには、キーを削除してから、再度追加する必要があります。

最終更新日 2020 年 11 月 2 日
次でキャッシュ 8:59 PM on Oct 21, 2021 |

その他のヘルプ