Start Building for Free
CircleCI.comアカデミーブログコミュニティサポート

プロジェクトの SSH キーをローテーションする

3 weeks ago1 min read
Cloud
Server v4.x
Server v3.x
Server v2.x
このページの内容

プロジェクトSSHキーの使用を取り消すには、以下の手順でキーペアをローテーションしてください。 サポートされているバージョンコントロールシステム(VCS)ごとに、手順を用意しましたのでご参照ください。

プロジェクトSSHキーを使用する場合、CircleCIはプライベートキーを保持しており、ターゲットシステム(VCS、マシン、または他のSSHベースのシステムなど)は、認証システムを介しプライベートキーと一致するパブリックキーを持っています。 SSHキーをローテーションするには、プライベートキーとパブリックキーの両方を削除する必要があります。

GitHubプロジェクト

プロジェクト設定(Project Settings)> SSHキー(SSH Keys)からプロジェクトに設定された SSH キーをご確認いただけます。

デプロイキーをローテーションする

  1. ローテーションするため、フィンガープリントを含めた現在のキー情報をメモしておきます。 また、キーネームをクリックすると、関連する GitHub ページが開き、パブリックキーのリストをご確認いただけます。

  2. Xをクリックして、デプロイキーを削除します。

  3. デプロイキーの追加(Add Deploy Key) をクリックして、新しいデプロイキーを追加します。

  4. GitHub のリポジトリプロジェクト設定に移動し、一致するパブリックキーを削除します。 GitHubのURLは通常、 `https://github.com/<org>/<project>/settings/keys`です。ステップ1でキーネームをクリックした場合は、すでにそのページが開いている可能性があります。 キーはCircleCIという名前になっています。 ローテーション前に作成された `CircleCI `というタイトルのキーは削除することが推奨されます。 古いキーが削除されると、新しいパブリックSSHキーが自動的に追加されます。(キーが表示されない場合は、ページを更新してください。)

ユーザーキーをローテーションする

プロジェクトにユーザーキーを設定している場合は、以下の手順に従ってください。

  1. ローテーションするため、フィンガープリントを含めた現在のキー情報をメモしておきます。 また、キーネームをクリックすると、関連する GitHub ページが開き、パブリックキーのリストをご確認いただけます。

  2. Xをクリックして、ユーザーキーを削除します。

  3. ユーザーキーの追加(Add User Key) をクリックし、新しいユーザーキーを追加します。

  4. GitHub のユーザー設定に移動して、一致するパブリックキーを削除します。 GitHubのURLは通常、https://github.com/settings/keys です。ステップ1でキーネームをクリックした場合は、すでにそのページが開いている可能性があります。 キーはCircleCIという名前になっています。ローテーション前に作成された`CircleCI`というタイトルのキーは削除することが推奨されます。 古いキーが削除されると、新しいパブリックSSHキーが自動的に追加されます。(キーが表示されない場合は、ページを更新してください。)

追加のSSHキーをローテーションする

プロジェクトで追加のSSHキーを使用している場合は、以下の手順に従ってください。

  1. どのターゲットシステムで使われているかを把握するため、またフィンガープリントを記録しておくために、既存のキーをメモしてください。 ターゲットはVCS、マシン、または他のSSHベースのシステムである可能性があります。

  2. X をクリックして、SSHキーを削除します。

  3. OpenSSH(ssh-keygen -t ed25519 -C "your_email@example.com")などを使い、キーを手動で再作成します。 手順はGitHubのドキュメントに記載されています。

  4. 追加SSHキー(Additional SSH Keys)セクションのSSHキーを追加( Add SSH Key )をクリックして、CircleCIに新しいキーを追加します。 ホスト名は、削除した古いキーと同じもので大丈夫です。 上の手順で作成したプライベートキーに貼り付け、再度SSHキーを追加(Add SSH Key)をクリックし確定します。

  5. 古いキーを使用するための認証をターゲットシステムから削除します。 通常、パブリックキーはターゲットシステムで認証されるため、ターゲットシステムによって設定が異なります。

  6. 新しいキーを使用するためのターゲットシステムを許可します。

Bitbucketプロジェクト

プロジェクト設定(Project Settings)> SSHキー(SSH Keys)からプロジェクトに設定された SSH キーをご確認いただけます。

デプロイキーをローテーションする

  1. ローテーションするため、現在のキーの情報をメモしておきます。

  2. X をクリックして、デプロイキーを削除します。

  3. デプロイキーの追加(Add Deploy Key)をクリックして、新しいデプロイキーを追加します。

  4. Bitbucket のプロジェクト管理者のアクセスキー設定に移動して、一致するパブリックキーを削除します。 Bitbucket の URL は通常`https://bitbucket.org/<org>/<project>/admin/access-keys/` です。 キーは CircleCI という名前になっています。 フィンガープリントのハッシュは表示されないので、ローテーション前に作成された`CircleCI` というタイトルのキーは削除することが推奨されます。 古いキーが削除されると、新しいパブリックSSHキーが自動的に追加されます。(キーが表示されない場合は、ページを更新してください。)

ユーザーキーをローテーションする

  1. ローテーションするため、現在のキー情報をメモしておきます。

  2. X をクリックして、ユーザーキーを削除します。

  3. Bitbucketのユーザーキーを作成する手順に従って、新しいユーザーキーを追加してください。

  4. Bitbucketのユーザーアカウント設定に移動し、一致するパブリックキーを削除してください。 BitbucketのURLは、通常、https://bitbucket.org/account/settings/ssh-keys/ です。 ユーザーがキーに名前を付けるため、キーネームに`CircleCI`という文字列が含まれているかどうかはCircleCIにはわかりません。 ローテーション前に作成されたキーは削除することが推奨されます。

追加のSSHキーをローテーションする

  1. どのターゲットシステムで使われているかを把握するため、またフィンガープリントを記録しておくために、既存のキーのホストネームをメモしてください。 ターゲットはVCS、マシン、または他のSSHベースのシステムである可能性があります。

  2. X をクリックして、SSHキーを削除します。

  3. OpenSSH (ssh-keygen -t ed25519 -C "your_email@example.com") などを使い、キーを手動で再作成します。 手順は BitBucket のドキュメントに記載されています。

  4. 追加SSHキー(Additional SSH Keys)セクションのSSHキーを追加(Add SSH Key)をクリックして、CircleCIに新しいキーを追加します。 ホスト名は、削除した古いキーと同じもので大丈夫です。 上の手順で作成したプライベートキーに貼り付け、再度SSHキーを追加(Add SSH Key)をクリックし確定します。

  5. 古いキーを使用するための認証をターゲットシステムから削除します。 通常、パブリックキーはターゲットシステムで認証されるため、ターゲットシステムによって設定が異なります。

  6. 新しいキーを使用するためのターゲットシステムを許可します。

GitLabプロジェクト

プロジェクト設定(Project Settings)> SSHキー(SSH Keys)からプロジェクトに設定された SSH キーをご確認いただけます。 GitLab と CircleCI の連携では、デプロイキーやユーザーキーは使用しません。

SSHキーをローテーションする

  1. 既存のキーとフィンガープリントをメモして、ターゲットシステム(通常 gitlab.com)と合わせられるようにします。

  2. X をクリックして、SSHキーを削除します。

  3. OpenSSH (ssh-keygen -t ed25519 -C "your_email@example.com") などを使い、キーを手動で再作成します。 手順は GitLabのドキュメントに記載されています。

  4. SSHキーを追加(Add SSH Key)をクリックしてプライベートキーを追加します。 キーに`gitlab.com` という名前をつけることが推奨されます。 上のステップで作成したプライベートキーを貼り付け、SSHキーを追加(Add SSH Key)をもう一度クリックして確定します。

  5. 設定(Settings) >レポジトリ (Repository)を開き、GitLabプロジェクトのリポジトリに関する設定からデプロイキー(Deploy keys)のセクションを展開します。 キーは circleci-pipeline-triggers という名前になっていますので、フィンガープリントと一致させてください。 ローテーション前に作成されたキーは削除することが推奨されます。

  6. 新しいキーを追加してください。 一貫性を保つために、タイトルセクションの circleci-pipeline-triggers にキーの名前を付けることをお勧めいたします。 パブリックキーを貼り付け、キーの追加(Add key) をクリックして確定します。

追加の SSH キーをローテーションする

GitLab に紐づかないSSH キーを追加で使っている場合は以下の手順に従ってください。

  1. どのターゲットシステムで使われているかを把握するため、またフィンガープリントを記録しておくために、既存のキーのホストネームをメモしてください。 ターゲットはVCS、マシン、または他のSSHベースのシステムである可能性があります。

  2. X をクリックして、SSHキーを削除します。

  3. OpenSSH (ssh-keygen -t ed25519 -C "your_email@example.com") などを使い、キーを手動で再作成します。 手順は GitLabのドキュメントに記載されています。

  4. 追加SSHキー(Additional SSH Keys)セクションの SSHキーを追加(Add SSH Key)をクリックして、CircleCI に新しいキーを追加してください。 ホスト名は、削除した古いキーと同じもので大丈夫です。 上の手順で作成したプライベートキーに貼り付け、再度SSHキーを追加(Add SSH Key)をクリックし確定します。

  5. 古いキーを使用するための認証をターゲットシステムから削除します。 通常、パブリックキーはターゲットシステムで認証されるため、ターゲットシステムによって設定が異なります。

  6. 新しいキーを使用するためのターゲットシステムを許可します。


ドキュメントの改善にご協力ください

このガイドは、CircleCI の他のドキュメントと同様にオープンソースであり、 GitHub でご利用いただけます。 ご協力いただき、ありがとうございます。

サポートが必要ですか

CircleCI のサポートエンジニアによる、サービスに関する問題、請求およびアカウントについての質問への対応、設定の構築に関する問題解決のサポートを行っています。 サポートチケットを送信して、CircleCI のサポートエンジニアにお問い合わせください。日本語でお問い合わせいただけます。

または、 サポートサイト から、サポート記事やコミュニティフォーラム、トレーニングリソースをご覧いただけます。