Windows でリポジトリ アクセス キーをセットアップする
SSH 経由でリポジトリをプルまたはクローンする際に、ユーザーまたはサービスが認証できるように Bitbucket Cloud リポジトリにアクセス キーを追加します。たとえば、ビルド サーバーがコードを確認してテストする際は、アクセス キーで Bitbucket を認証することをお勧めします。
アクセス キーには次の機能と制限があります。
公開または非公開リポジトリへの読み取り専用アクセス権限の付与。
プランへの追加ユーザーは不要。
複数のリポジトリに追加可能。
アカウントとの関連付けは不可能。
自動プロセス用に使用した場合、パスフレーズが不要。
アクセス キーをリポジトリに追加するには、個人アカウントの場合と同じように一意の SSH キーを生成する必要があります。SSH キーを生成して追加するには、次の手順に従います。
Microsoft Windows で OpenSSH をインストールする
Microsoft Windows に OpenSSH をインストールするには、次の 3 つの方法があります。
Git for Windows をダウンロードしてインストールする
インストーラーは https://gitforwindows.org/ からダウンロードして実行します。各ステップのオプションは適切でなければなりません。SSH 実行ファイルを選択する段階になったら、バンドルされている OpenSSH が選択されていることを確認します。
インストールが完了したら、スタート メニューから Git Bash を開きます。
ターミナルで、次のコマンドを実行して OpenSSH が正常にインストールされていることを確認します。
ssh -V
出力には、インストールされている OpenSSH のバージョンが表示されるはずです。
Git for Windows を winget でインストールする
Windows パッケージ マネージャー winget を使用して Git for Windows の一部として OpenSSH をインストールするには、次の手順に従います。
winget がインストールされていることを確認します。PowerShell を開いて以下を実行してください。
winget -v
To install Git for Windows using
winget install
, run:winget install --id Git.Git -e --source winget
インストールが完了したら、スタート メニューから Git Bash を開きます。
ターミナルで、次のコマンドを実行して OpenSSH が正常にインストールされていることを確認します。
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 が正常にインストールされたことを確認します。
ssh -V
出力には、インストールされている OpenSSH のバージョンが表示されるはずです。
ssh
がインストールされている場所を見つけるには、Get-Command
を実行します。次に例を示します。
> Get-Command ssh
CommandType Name Version Source
----------- ---- ------- ------
Application ssh.exe 8.1.0.1 C:\Windows\System32\OpenSSH\ssh.exe
To configure Git to use the Windows version of OpenSSH, update the SSH command with git config
, such as:
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
がすでに実行されている場合は、出力に次のように表示されるはずです。
$ ps -a | grep ssh-agent
tkelly 3291 0.0 0.0 6028 464 ? Ss 07:29 0:00 ssh-agent
エージェントを起動するには、次の手順に従います。
eval $(ssh-agent)
Git Bash ターミナルを開くと常にエージェントが起動するようにするには、このコマンドを自分の ~/.bashrc
に追加する必要がある場合があります。
Windows OpenSSH ユーザー
PowerShell から、Get-Service
コマンドを使用して SSH エージェントが実行されているかどうかを確認します。次に例を示します。
> Get-Service ssh-agent
Status Name DisplayName
------ ---- -----------
Stopped ssh-agent OpenSSH Authentication Agent
エージェントを起動するには、次の手順に従います。
> Start-Service ssh-agent
デバイスが起動するたびに SSH エージェントが起動するように設定するには、Set-Service
コマンドを使用して次のようにします。
> Set-Service -Name sshd -StartupType 'Automatic'
SSH キー ペアを作成する
SSH キー ペアを作成するには、以下の手順に従います。
ターミナルを開いて、
cd
を使用してホームまたはユーザー ディレクトリに移動します。たとえば次のようにします。cd ~
ssh-keygen
を使用して、次のように SSH キー ペアを生成します。ssh-keygen -t ed25519 -b 4096 -C "{username@emaildomain.com}" -f ~/.ssh/{ssh-key-name}
ここで:
{username@emaildomain.com}
は、仕事用のメール アカウントなど、Bitbucket Cloud アカウントに関連付けられているメール アドレスです。{ssh-key-name}
はキーの出力ファイル名です。bitbucket_work
のような識別可能な名前を使用することをお勧めします。
[パスフレーズを入力] のプロンプトが表示された際には、パスワードを入力するか、パスワードを空白のままにできます。パスワードを入力すると、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 キーを追加するには、次の手順に従います。
{ssh-key-name}
を非公開キーの名前に置き換えて、次のコマンドを実行します。ssh-add ~/.ssh/{ssh-key-name}
Bitbucket に接続する際に正しい SSH キーが使用されるように、次の設定で SSH 設定ファイル (
~/.ssh/config
) を更新または作成します。Host bitbucket.org AddKeysToAgent yes IdentityFile ~/.ssh/{ssh-key-name}
Where
{ssh-key-name}
is the name of the private key file once it has been added to thessh-agent
.
Bitbucket Cloud に公開キーを提供する
Bitbucket リポジトリに SSH キーを追加するには、次の手順に従います。
bitbucket.org で、リポジトリに移動して、[リポジトリ設定] を選択します。
[セキュリティ] で、[アクセス キー] を選択します。
[キーを追加] を選択します。
[SSH キーを追加] ダイアログで [ラベル] を入力して、追加するキーを識別しやすくします。たとえば、
Work Laptop <Manufacturer> <Model>
です。 意味のあるラベルを付けると、将来古いキーや不要なキーを特定するのに役立ちます。Open the public SSH key file (public keys have the
.pub
file extension) in a text editor. The public key should be in the.ssh/
directory of your user (or home) directory. The contents will be similar to:ssh-ed25529 LLoWYaPswHzVqQ7L7B07LzIJbntgmHqrE40t17nGXL71QX9IoFGKYoF5pJKUMvR+DZotTm user@example.com
公開キーファイルの内容をコピーして、[SSH キーを追加] ダイアログの [キー] フィールドに貼り付けます。
[SSH キーを追加] を選択します。
キーが正常に追加されると、ダイアログが閉じて、キーが [アクセス キー] ページにリストされます。
If you receive the error
That SSH key is invalid
, check that you copied the entire contents of the public key (.pub
file).
SSH 認証が機能することを確認する
SSH キーが正常に追加されたことをテストするには、デバイスでターミナルを開いて次のコマンドを実行します。
ssh -T git@bitbucket.org
SSH が SSH キーを使用して Bitbucket に正常に接続できれば、コマンドは次のような出力を生成します。
authenticated via ssh key.
You can use git to connect to Bitbucket. Shell access is disabled
この内容はお役に立ちましたか?