Skip to main content

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

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

Platform navigation

Tool navigation

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

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

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

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

前提条件

GitHub.com のアカウントに新しい SSH キーを追加する前に、次の手順を実行します。

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

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

SSH キーを追加し、認証またはコミット署名、またはその両方に使用できます。 認証と署名の両方に同じ SSH キーを使用する場合は、2 回アップロードする必要があります。

新しい SSH 認証キーを GitHub.com のアカウントに追加した後、SSH を使用するようにローカル リポジトリを再構成できます。 詳しくは、「リモートリポジトリを管理する」を参照してください。

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

それ以降、DSA キー (ssh-dss) はサポートされなくなりました。 GitHub の個人用アカウントに新しい 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 Terminal を使用する新しいバージョンの Windows、または PowerShell コマンド ラインを使用する場合は、The '&lt;' operator is reserved for future use. を示す ParseError が表示されることがあります。この場合は、次の代替 clip コマンドを使用する必要があります。
$ 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 アカウントに SSH キーを追加するには、ssh-key add サブコマンドを使用して公開キーを指定します。 認証キーのためで、追加のスコープを要求するように求められた場合は、コマンド ラインの指示に従います。

gh ssh-key add KEY-FILE --type {authentication|signing}

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

gh ssh-key add KEY-FILE --title "personal laptop"

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

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

参考資料