Skip to main content

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

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

Platform navigation

Tool navigation

アカウントへの 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 を使うようにローカル リポジトリを再構成できます。 詳しくは、「リモートリポジトリを管理する」を参照してください。

注: 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

注:

  • Linux 用 Windows サブシステム (WSL) では、clip.exe を使うことができます。 clip が機能しない場合は、非表示の .ssh フォルダーを探し、お気に入りのテキスト エディターでファイルを開き、クリップボードにコピーできます。
  • Windows ターミナルを使用する新しいバージョンの Windows、または PowerShell コマンド ラインを使用する場合は、The '&lt;' operator is reserved for future use.次の代替 clip コマンドを使用する必要があることを示す ParseError が表示されることがあります。
$ cat ~/.ssh/id_ed25519.pub | clip
# Copies the contents of the id_ed25519.pub file to your clipboard
$ 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. 任意のページで、右上隅にあるプロファイルの画像をクリックし、次に[設定]をクリックします。

    GitHub のアカウント メニューのスクリーンショット。ユーザーがプロファイル、コンテンツ、設定を表示および編集するためのオプションが表示されています。 メニュー項目 [設定] が濃いオレンジ色の枠線で囲まれています。

  2. サイドバーの [アクセス] セクションで、 [ SSH キーと GPG キー] をクリックします。

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

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

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

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

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

  8. ダイアログが表示されたら GitHub のアカウントへのアクセスを確認します。 詳しくは、「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-agent に追加する」の手順に従って SSH キーを生成した場合は、このコマンドを使用してアカウントにキーを追加できます。

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

参考資料