Skip to main content

GitHub アカウントへの新しい SSH キーの追加

GitHub.com で新しい (または既存の) SSH キーを使用するようにアカウントを構成するには、アカウントにキーを追加する必要もあります。

アカウントへの SSH キーの追加について

SSH (Secure Shell プロトコル) を使用して、GitHub.com のリポジトリ内のデータにアクセスして書き込むことができます。 SSH 経由で接続する場合は、ローカル コンピューター上の秘密キー ファイルを使用して認証します。詳しくは、「SSH について」をご覧ください。

SSH を使ってコミットとタグに署名することもできます。 コミットの署名について詳しくは、「コミット署名の検証について」をご覧ください。

SSH キーの組を生成した後、公開キーをGitHub.com に追加して、アカウントの SSH アクセスを有効にする必要があります。

前提条件

GitHub.com の新しいアカウントに SSH キーを追加する前に、以下のステップを完了します。

  1. 既存の SSH キーを確認する。 詳しくは、「既存の SSH キーの確認」をご覧ください。
  2. 新しい SSH キーを生成し、マシンの SSH エージェントに追加する。 詳細については、「新しい SSH キーを生成して ssh-agent に追加する」を参照してください。

アカウントへの新しい SSH キーの追加

GitHub.com でアカウントに新しい SSH 認証キーを追加した後、SSH を使うようにローカル リポジトリを再構成できます。 詳細については、「リモート URL の HTTPS から SSH への切り替え」を参照してください。

注: GitHub は、2022 年 3 月 15 日に古いセキュリティで保護されていないキーの種類を削除することでセキュリティを強化しました。

それ以降、DSA キー (ssh-dss) はサポートされなくなりました。 GitHub.com の個人アカウントに新しい DSA キーを追加することはできません。

2021 年 11 月 2 日以前の valid_after を持つ RSA キー (ssh-rsa) では、任意の署名アルゴリズムを引き続き使用できます。 その日以降に生成される RSA キーは、SHA-2 署名アルゴリズムを使用する必要があります。 SHA-2 署名を使用するには、一部の古いクライアントをアップグレードする必要があります。

  1. SSH 公開鍵をクリップボードにコピーします。

    SSH 公開鍵のファイル名がサンプルコードと異なる場合は、現在の設定に一致するようにファイル名を変更してください。 キーをコピーする際には、改行や空白を追加しないでください。

    $ pbcopy < ~/.ssh/id_ed25519.pub
      # Copies the contents of the id_ed25519.pub file to your clipboard

    ヒント: pbcopy が機能しない場合は、非表示の .ssh フォルダーを探し、お気に入りのテキスト エディターでファイルを開き、クリップボードにコピーできます。

    $ clip < ~/.ssh/id_ed25519.pub
      # Copies the contents of the id_ed25519.pub file to your clipboard

    ヒント: clip が機能しない場合は、非表示の .ssh フォルダーを探し、お気に入りのテキスト エディターでファイルを開き、クリップボードにコピーできます。

    $ cat ~/.ssh/id_ed25519.pub
      # Then select and copy the contents of the id_ed25519.pub file
      # displayed in the terminal to your clipboard

    ヒント: あるいは、非表示の .ssh フォルダーを探し、お気に入りのテキスト エディターでファイルを開き、クリップボードにコピーできます。

    1. 任意のページで、右上隅にあるプロファイルの画像をクリックし、次に[**設定**]をクリックします。

    ユーザバーの [Settings(設定)] アイコン

  2. In the "Access" section of the sidebar, click SSH and GPG keys.

  3. [New SSH key](新しい SSH キー) または [Add SSH key](SSH キーの追加) をクリックします。 SSH キー ボタン

  4. [Title] フィールドで、新しいキーを説明するラベルを追加します。 たとえば、個人のラップトップを使っている場合、このキーに「個人用ラップトップ」といった名前を付けます。

  5. キーの種類として、認証または署名のいずれかを選びます。 コミットの署名について詳しくは、「コミット署名の検証について」をご覧ください。

  6. キーを [Key] フィールドに貼り付けます。 キー フィールド

  7. [Add SSH key](SSH キーの追加) をクリックします。 キーの追加のボタン

  8. ダイアログが表示されたら GitHub Enterprise Cloud のアカウントへのアクセスを確認します。 詳しくは、「Sudo モード」を参照してください。

GitHub CLI の詳細については、「GitHub CLI について」を参照してください。

GitHub CLI を使用してアカウントに SSH キーを追加する前に、GitHub CLI に対して認証を行う必要があります。 詳細については、GitHub CLI ドキュメントの「gh auth login」を参照してください。

現在、GitHub CLI を使って追加できるのは SSH 認証キーだけであり、SSH 署名キーを追加することはできません。

GitHub アカウントに SSH 認証キーを追加するには、ssh-key add サブコマンドを使って、公開キーを指定します。

gh ssh-key add key-file

新しいキーのタイトルを含めるには、-t または --title フラグを使用します。

gh ssh-key add key-file --title "personal laptop"

新しい SSH キーの生成に関するページの手順に従って SSH キーを生成した場合は、このコマンドを使用してアカウントにキーを追加できます。

gh ssh-key add ~/.ssh/id_ed25519.pub

参考資料