追加の SSH キーをセットアップする
robots | noindex |
複数のサイトで同じパスワードを使用しているとアカウントの安全性が低くなりますが、ほとんどの場合、複数のアカウントで同じ SSH キーは使用できます。しかし、状況によっては 2 つ以上の SSH キーをセットアップする必要があることがあります。
- ユーザーが 2 つの異なる Bitbucket Cloud アカウントを持っている場合。たとえば、仕事関連の Bitbucket アカウントと私的な Bitbucket アカウントを持っている場合、各アカウントに固有の SSH キーが必要です。
- 同じアカウントにログインするために 2 台のコンピューターを使用している場合。
- パスフレーズが空の状態で公開キーを使用するスクリプトを記述して、人の手を介することなく実行し、リポジトリで DVCS 操作を実行したい場合。
以下は、追加の SSH キーのセットアップ時のオプションです。
Windows | macOS | Linux | |
---|---|---|---|
Git | ターミナル | ||
Mercurial | Sourcetree | ターミナル |
この時点で、少なくとも 1 つの SSH キーは作成済みのはずです。この SSH キーは、Bitbucket が認証時に最初に確認するキーのため、ユーザーの既定の ID となります。SSH キーをまだ持っていない場合、「SSH キーをセットアップする」の手順に従ってください。
Git 用の 追加の SSH キーをセットアップする
Git を使用している場合、このセクションを参照して、Windows、macOS、または Linux で、必要に応じて SSH キーを作成できます。
ステップ 1 既定の ID を準備する
ご使用の Git のクローン URL を決定します。
$ git remote -v
origin git@bitbucket.org:teamsinspace/bitbucketspacestation.git(fetch)
origin git@bitbucket.org:teamsinspace/bitbucketspacestation.git(push)
git@bitbucket.org
を<username>@bitbucket.org
に置き換えて、リモート URL を自身の Bitbucket ユーザー名で更新します。このステップと以降のステップでは、<username>
の部分に自身のユーザー名を入力します。$ git remote set-url origin <username>@bitbucket.org:teamsinspace/bitbucketspacestation.git
ステップ 2 追加の SSH キーを作成する
新しい SSH キーを生成します。
<username>
の部分に、SSH キーを作成している Bitbucket アカウントのユーザー名を入力します。Windows 7 以前の場合
「
ssh-keygen
」は Git Bash ウィンドウにのみ入力できます。コマンド プロンプトでは使用できません。$ ssh-keygen -f ~/.ssh/<username>
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/<username>/.ssh/<username>.
Your public key has been saved in /Users/<username>/.ssh/<username>.pub.
The key fingerprint is:
7a:9c:b2:9c:8e:4e:f4:af:de:70:77:b9:52:fd:44:97 <username>
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| .|
| Eo|
| . S . ..|
| . . o . ... .|
| . = = ..o o |
| . o X ... . .|
| .ooB.o .. |
+-----------------+新しい SSH キーをアカウントに追加します。適切なアカウントに追加していることを確認してください。
$ ssh-add ~/.ssh/<username>
ステップ 3 アカウント設定に公開キーを追加する
各公開 SSH キーを対応するアカウントに追加します。2 つの別々の場所からアクセスしているアカウントがある場合、そのアカウントに両方のキーを追加します。
Bitbucket で、左下にあるアバターから [個人設定] を選択します。
[アカウント設定] ページが開きます。
[SSH キー] をクリックします。
SSH 鍵 ページが表示されます。既存の鍵を持っている場合は、このページに表示されます。
公開キー ファイルの内容をコピーします。
Windows:
~/.ssh/<public_key>
ファイルを開き、内容をコピーします。mac:
$ pbcopy < ~/.ssh/<public_key_file>
コマンドを使用してクリップボードに出力をコピーします。Linux:
$ cat ~/.ssh/<public_key_file>
コマンドを使用してクリップボードに出力をコピーします。
Bitbucket で、新しいキーのラベルを入力します (例:
Public key #2
)。コピーした公開キーを SSH キー フィールドに貼り付けます。
保存をクリックします。
キーの追加を確認するメールが、Bitbucket からユーザーに送信されます。
次回にリポジトリをクローンする際、そのリポジトリの SSH URL を使用して、URL の <username>@bitbucket.org
の git
を自身の Bitbucket ユーザー名に置き換えます。例:
git clone <username>@bitbucket.org:teamsinspace/bitbucketspacestation.git
HTTPS または別の SSH URL を使用して既存のリポジトリの URL を変更する場合、リポジトリのリモート URL を変更します。
Mercurial 用の追加の SSH キーのセットアップ (macOS および Linux)
Linux または macOS で Mercurial 用に追加するすべてのキーの作成方法については、このセクションを参照してください。macOS では Sourcetree を使用して最初の SSH キーを生成できますが、追加のキーを作成するにはターミナルを使用する必要があります。
ステップ 1 既定の ID を準備する
.hg/hgrc
ファイルを開き、default
値で Mercurial クローン URL を見つけます。[paths] default = ssh://hg@bitbucket.org/teamsinspace/bitbucketspacestation
hg@bitbucket.org
を<username>@bitbucket.org
に置き換えて、リモート URL を自身の Bitbucket ユーザー名で更新します。このステップと以降のステップでは、<username>
の部分に自身のユーザー名を入力します。[paths] default = ssh://<username>@bitbucket.org/teamsinspace/bitbucketspacestation
ステップ 2 追加の SSH キーを作成する
新しい SSH キーを生成します。
<username>
の部分に、SSH キーを作成している Bitbucket アカウントのユーザー名を入力します。Windows 7 以前の場合
「
ssh-keygen
」は Git Bash ウィンドウにのみ入力できます。コマンド プロンプトでは使用できません。$ ssh-keygen -f ~/.ssh/<username>
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/<username>/.ssh/<username>.
Your public key has been saved in /Users/<username>/.ssh/<username>.pub.
The key fingerprint is:
7a:9c:b2:9c:8e:4e:f4:af:de:70:77:b9:52:fd:44:97 <username>
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| .|
| Eo|
| . S . ..|
| . . o . ... .|
| . = = ..o o |
| . o X ... . .|
| .ooB.o .. |
+-----------------+新しい SSH キーをアカウントに追加します。適切なアカウントに追加していることを確認してください。
$ ssh-add ~/.ssh/<username>
ステップ 3. (Mercurial のみ) SSH 圧縮を有効にする
SSH 圧縮の有効化は推奨されますが、必須ではありません。
既定では、Git の場合、データの送信または取得時に圧縮が自動で実行されますが、Mercurial では実行されません。SSH 圧縮を有効にすると、データの送信および取得の速度が劇的に向上する場合があります。
SSH 圧縮を有効にするには、次の手順を使用します。
- Mercurial グローバル構成ファイル (
~/.hgrc
) を開きます。 以下の行を UI セクションに追加します。
ssh = ssh -C
追加後のファイルは次のようになります。
[ui] # Name data to appear in commits username = Emma <emmap1@atlassian.com> ssh = ssh -C
- ファイルを保存して閉じます。
ステップ 4. アカウント設定に公開キーを追加する
各公開 SSH キーを対応するアカウントに追加します。2 つの別々の場所からアクセスしているアカウントがある場合、そのアカウントに両方のキーを追加します。
Bitbucket で、左下にあるアバターから [個人設定] を選択します。
[アカウント設定] ページが開きます。
[SSH キー] をクリックします。
追加済みのキーがある場合、このページに表示されます。
ターミナル ウィンドウで、公開キー ファイルの内容をコピーします。
Mac OSX:
$ pbcopy < ~/.ssh/<public_key_file>
コマンドを使用してクリップボードに出力をコピーします。Linux:
$ cat ~/.ssh/<public_key_file>
コマンドを使用してクリップボードに出力をコピーします。
Bitbucket で、新しいキーのラベルを入力します (例:
Public key #2
)。コピーした公開キーを SSH キー フィールドに貼り付けます。
保存をクリックします。
キーの追加を確認するメールが、Bitbucket からユーザーに送信されます。
次回にリポジトリをクローンする際、そのリポジトリの SSH URL を使用して、URL の <username>@bitbucket.org
の hg
を自身の Bitbucket ユーザー名に置き換えます。例:
hg clone ssh://<username>@bitbucket.org/teamsinspace/bitbucketspacestation
HTTPS または別の SSH URL を使用して既存のリポジトリの URL を変更する場合、リポジトリのリモート URL を変更します。
Sourcetree で 追加の SSH キーをセットアップする (Windows)
Git や Mercurial を使用しているかどうかにかかわらず、Windows で Sourcetree を使用して任意の数の SSH キーを生成するには、このセクションを参照してください。
ステップ 1. SSH キーを作成する
[ツール] で、[SSH キーの作成またはインポート] を選択します。
[PuTTY キー ジェネレーター] ダイアログで、[生成] ボタンをクリックします。
SSH キーの生成中は、カーソルをダイアログの空白領域に置いてください。生成には 1 〜 2 分かかる場合があります。
SSH キーの生成が完了すると、公開キーとその他の複数のフィールドが表示されます。
他の SSH キーと区別できるように説明を入力して [キー コメント] を更新します。
[キー パスフレーズ] と [パスフレーズの確認] フィールドで、SSH キーのパスフレーズを入力します。
[公開キーを保存] をクリックします。保存ダイアログで公開キーの保存先を選択し、ファイルに名前を付けて [保存] をクリックします。
[秘密キーを保存] をクリックします。保存ダイアログで、秘密キーを保存する場所を選択し、ファイルの名前を付け、[保存] をクリックします。
[PuTTY キー ジェネレーター] ダイアログを閉じます。
ステップ 2. (Mercurial のみ) SSH 圧縮を有効にする
SSH 圧縮の有効化は推奨されますが、必須ではありません。この手順を完了するには、Mercurial リポジトリをクローンして開く必要があります。
既定では、Git の場合、データの送信または取得時に圧縮が自動で実行されますが、Mercurial では実行されません。SSH 圧縮を有効にすると、データの送信および取得の速度が劇的に向上する場合があります。
SSH 圧縮を有効にするには、次の手順を使用します。
- リポジトリ ウィンドウの右上の [設定] をクリックします。リポジトリ設定の [リモート] タブが開かれます。そうでない場合は、[リモート] タブをクリックします。
- [構成ファイルの編集] をクリックし、Mercurial グローバル構成ファイル (
~/.hgrc
) を開きます。 以下の行を UI セクションに追加します。
ssh = ssh -C
ファイルは次のようになります。
[ui] # name and email (local to this repository, optional), e.g. username = Emma <emmap1@atlassian.com> ssh = ssh -C
ファイルを保存して閉じます。
ステップ 3. Pageant に秘密キーをインストール
Sourcetree には Pageant という SSH 認証エージェントが付属しています。秘密キーを Pageant にロードして自動認証することで、パスフレーズの入力は不要になります。
システム トレイで Pageant (PuTTY 認証エージェント) アイコンをダブルクリックして [Pageant Ket List] ダイアログを開きます。
[キーの追加] ボタンをクリックします。
[秘密キー ファイルの選択] ダイアログが表示されます。
ステップ 1 で保存した秘密キー ファイルに移動して、[開く] をクリックします。
SSH キーのパスフレーズを入力し、[OK] をクリックします。
Pageant は実行中のリストにキーを表示します。
[閉じる] を押してダイアログを閉じます。
ステップ 4. アカウント設定に公開キーを追加する
Sourcetree で、[ツール] > [SSH キーの作成またはインポート] に進み、[PuTTY キー ジェネレーター] ダイアログを開きます。
[ロード] をクリックし、SSH フォルダーに移動して、秘密キーをクリックします。
SSH キーのパスフレーズを入力し、[OK] をクリックします。
最初のフィールドに公開キーをコピーします。
Bitbucket で、左下にあるアバターから [個人設定] を選択します。
[アカウント設定] ページが開きます。
[SSH キー] をクリックします。
追加済みのキーがある場合、このページに表示されます。
[キーの追加] をクリックします。
Bitbucket で、新しいキーのラベルを入力します (例:
Public key #2
)。コピーした公開キーを [SSH キー] フィールドに貼り付けます。
[保存] をクリックします。
Bitbucket からキーの追加を確認するメールがユーザーに送信されます。SSH キーを編集する
キーを追加したあとは、そのキーのラベルを編集することはできますが、キー自体を編集することはできません。キーのコンテンツを変更するには、キーを削除してから、再度追加する必要があります。
関連コンテンツ
- 関連コンテンツがありません