Windows で個人用 SSH キーをセットアップする

Git CLI から Bitbucket Cloud に接続する代替方法として、サードパーティの Git Credential Manager (GCM) を使用できます。Bitbucket Cloud アカウントに SSH アクセスを設定しない場合は、GCM を使用できます。GCM は Git for Windows によって既定でインストールされているか、GitHub の Git Credential Manager からダウンロードしてインストールできます。GCM は SSH ではなく HTTPS で動作することに注意してください。次のように、Git のリモート環境では必ず HTTPS を使用してください。
git clone https://{username}@bitbucket.org/{workspace}/{repository}.git

 

セキュア シェル プロトコル (SSH) は、デバイスと Bitbucket Cloud 間の安全な接続を確立するために使用されます。接続は、非公開 SSH キーから生成される公開 SSH キーを使用して認証されます (非公開/公開キーペアとも呼ばれます)。安全な (暗号化された) 接続を使用して、ローカル デバイスと Bitbucket Cloud 間でソース コードを安全に送信します。SSH を使用して Bitbucket Cloud に接続するようにデバイスをセットアップするには、次の操作が必要です。

  1. OpenSSH をデバイスにインストールします。

  2. SSH サービスを起動します

  3. SSH キー ペアを作成します

  4. SSH エージェントにキーを追加します

  5. Bitbucket Cloud に公開キーを提供します

  6. SSH 認証が機能していることを確認します

Microsoft Windows で OpenSSH をインストールする

Microsoft Windows に OpenSSH をインストールするには、次の 3 つの方法があります。

Git for Windows をダウンロードしてインストールする

  1. インストーラーは https://gitforwindows.org/ からダウンロードして実行します。各ステップのオプションは適切でなければなりません。SSH 実行ファイルを選択する段階になったら、バンドルされている OpenSSH が選択されていることを確認します。

  2. インストールが完了したら、スタート メニューから Git Bash を開きます。

ターミナルで、次のコマンドを実行して OpenSSH が正常にインストールされていることを確認します。

1 ssh -V

出力には、インストールされている OpenSSH のバージョンが表示されるはずです。

Git for Windows を winget でインストールする

Windows パッケージ マネージャー winget を使用して Git for Windows の一部として OpenSSH をインストールするには、次の手順に従います。

  1. winget がインストールされていることを確認します。PowerShell を開いて以下を実行してください。

    1 winget -v
  2. winget install を使用して Git for Windows をインストールするには、以下を実行します。

    1 winget install --id Git.Git -e --source winget
  3. インストールが完了したら、スタート メニューから Git Bash を開きます。

ターミナルで、次のコマンドを実行して OpenSSH が正常にインストールされていることを確認します。

1 ssh -V

出力には、インストールされている OpenSSH のバージョンが表示されるはずです。

Windows バージョンの OpenSSH をインストールする

この手順は、Git がすでに PowerShell にインストールされていてアクセス可能であることを前提としています。Git がインストールされていて、PowerShell でアクセスできない場合は、Git を PATH 環境変数に追加する必要がある場合があります。

Windows バージョンの OpenSSH をインストールするには、Microsoft ドキュメントの「Get Started with OpenSSH for Windows guide (Windows 用 OpenSSH 入門ガイド)」の指示に従ってください。OpenSSH をインストールしたら、OpenSSH を使用するように Git を構成する必要があります。

PowerShell で、次のコマンドを実行して OpenSSH が正常にインストールされたことを確認します。

1 ssh -V

出力には、インストールされている OpenSSH のバージョンが表示されるはずです。

ssh がインストールされている場所を見つけるには、Get-Command を実行します。次に例を示します。

1 2 3 4 5 > Get-Command ssh CommandType Name Version Source ----------- ---- ------- ------ Application ssh.exe 8.1.0.1 C:\Windows\System32\OpenSSH\ssh.exe

Windows バージョンの OpenSSH を使用するように Git を構成するには、git config によって次のように SSH コマンドをアップデートします。

1 git config --global core.sshCommand C:/Windows/System32/OpenSSH/ssh.exe

SSH エージェントを起動する

git が SSH キーを使用できるようにするには、SSH エージェントがデバイス上で実行されている必要があります。SSH エージェントの起動方法は、OpenSSH のインストール方法によって異なります。

Git for Windows ユーザー (winget ベースの Git インストールを含む)

Git Bash ターミナルから、ps コマンドを使用して SSH エージェントが実行されているかどうかを確認します。ssh-agent がすでに実行されている場合は、出力に次のように表示されるはずです。

1 2 $ ps -a | grep ssh-agent tkelly 3291 0.0 0.0 6028 464 ? Ss 07:29 0:00 ssh-agent

エージェントを起動するには、次の手順に従います。

1 eval $(ssh-agent)

Git Bash ターミナルを開くと常にエージェントが起動するようにするには、このコマンドを自分の ~/.bashrc に追加する必要がある場合があります。

Windows OpenSSH ユーザー

PowerShell から、Get-Service コマンドを使用して SSH エージェントが実行されているかどうかを確認します。次に例を示します。

1 2 3 4 5 > Get-Service ssh-agent Status Name DisplayName ------ ---- ----------- Stopped ssh-agent OpenSSH Authentication Agent

エージェントを起動するには、次の手順に従います。

1 > Start-Service ssh-agent

デバイスが起動するたびに SSH エージェントが起動するように設定するには、Set-Service コマンドを使用して次のようにします。

1 > Set-Service -Name sshd -StartupType 'Automatic'

SSH キー ペアを作成する

SSH キー ペアを作成するには、以下の手順に従います。

  1. ターミナルを開いて、cd を使用してホームまたはユーザー ディレクトリに移動します。たとえば次のようにします。

    1 cd ~
  2. ssh-keygen を使用して、次のように SSH キー ペアを生成します。

    1 ssh-keygen -t ed25519 -b 4096 -C "{username@emaildomain.com}" -f {ssh-key-name}

    ここで:

    • {username@emaildomain.com} は、仕事用のメール アカウントなど、Bitbucket Cloud アカウントに関連付けられているメール アドレスです。

    • {ssh-key-name} はキーの出力ファイル名です。bitbucket_work のような識別可能な名前を使用することをお勧めします。

  3. [パスフレーズを入力] のプロンプトが表示された際には、パスワードを入力するか、パスワードを空白のままにできます。パスワードを入力すると、Bitbucket Cloud にコンタクトする Git コマンド (git push、git pull、git fetch など) を使用した場合のように、SSH を使用するたびにこのパスワードの入力を求められます。パスワードを入力した場合は、デバイスにアクセスできる他のユーザーがそのキーを使用できなくなります。

完了すると、ssh-keygen によって次の 2 つのファイルが出力されます。

  • {ssh-key-name}非公開キーです。

  • {ssh-key-name}.pub公開キーです。

これらのファイルは、C:\Users\<username>\<ssh-key-name> などのユーザー フォルダーに保存されます。

SSH エージェントにキーを追加する

SSH エージェント (ssh-agent) に SSH キーを追加するには、次の手順に従います。

  1. {ssh-key-name}非公開キーの名前に置き換えて、次のコマンドを実行します。

    1 ssh-add ~/{ssh-key-name}
  2. Bitbucket に接続する際に正しい SSH キーが使用されるように、次の設定で SSH 設定ファイル (~/.ssh/config) を更新または作成します。

    1 2 3 Host bitbucket.org AddKeysToAgent yes IdentityFile ~/.ssh/{ssh-key-name}

    ここで、{ssh-key-name}ssh-agent に追加された後の非公開キー ファイルの場所です。

Bitbucket Cloud に公開キーを提供する

ユーザー アカウントに SSH キーを追加するには、次の手順に従います。

  1. 上部のナビゲーション バーにある [設定] (歯車アイコン ) を選択します。

  2. [設定] ドロップダウン メニューから [Bitbucket 個人設定] を選択します。

  3. [セキュリティ] で、[SSH キー] を選択します。

  4. [キーを追加] を選択します。

  5. [SSH キーを追加] ダイアログで [ラベル] を入力して、追加するキーを識別しやすくします。例: Work Laptop <Manufacturer> <Model>意味のあるラベルを付けると、将来古いキーや不要なキーを特定するのに役立ちます。

  6. 公開 SSH キー ファイル (公開キーには .pub というファイル拡張子が付いています) をテキスト エディターで開きます。公開キーは、ユーザー (またはホーム) ディレクトリの .ssh/ ディレクトリにあります。内容は次のようになります。

    1 ssh-ed25529 LLoWYaPswHzVqQ7L7B07LzIJbntgmHqrE40t17nGXL71QX9IoFGKYoF5pJKUMvR+DZotTm user@example.com
  7. 公開キーファイルの内容をコピーして、[SSH キーを追加] ダイアログの [キー] フィールドに貼り付けます。

  8. [キーを追加] を選択します。

    • キーが正常に追加されると、ダイアログが閉じて [SSH キー] ページにキーがリストされます。

    • エラー「That SSH key is invalid」が表示された場合は、公開キーの内容全体 (.pub ファイル) をコピーしていることをご確認ください。

SSH 認証が機能することを確認する

SSH キーが正常に追加されたことをテストするには、デバイスでターミナルを開いて次のコマンドを実行します。

1 ssh -T git@bitbucket.org

SSH が SSH キーを使用して Bitbucket に正常に接続できれば、コマンドは次のような出力を生成します。

1 2 3 authenticated via ssh key. You can use git to connect to Bitbucket. Shell access is disabled

 

 

その他のヘルプ