アカウントへの SSH キーの追加について
SSH (Secure Shell プロトコル) を使用して、GitHub.com のリポジトリ内のデータにアクセスして書き込むことができます。 SSH 経由で接続する場合は、ローカル コンピューター上の秘密キー ファイルを使用して認証します。 詳しくは、「SSH について」を参照してください。
SSH を使ってコミットとタグに署名することもできます。 コミット署名の詳細については、「コミット署名の検証について」を参照してください。
SSH キーの組を生成した後、公開キーを GitHub.com に追加して、アカウントの SSH アクセスを有効にする必要があります。
前提条件
GitHub.com のアカウントに新しい SSH キーを追加する前に、以下の手順を完了します。
- 既存の SSH キーを確認する。 詳しくは、「既存の SSH キーの確認」を参照してください。
- 新しい 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 署名を使用するには、一部の古いクライアントをアップグレードする必要があります。
-
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
フォルダーを探し、お気に入りのテキスト エディターでファイルを開き、クリップボードにコピーできます。$ 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
フォルダーを探し、お気に入りのテキスト エディターでファイルを開き、クリップボードにコピーできます。 -
サイドバーの [アクセス] セクションで、 [ SSH キーと GPG キー] をクリックします。
-
[New SSH key](新しい SSH キー) または [Add SSH key](SSH キーの追加) をクリックします。
-
[Title] フィールドで、新しいキーを説明するラベルを追加します。 たとえば、個人のラップトップを使っている場合、このキーに「個人用ラップトップ」といった名前を付けます。
-
キーの種類として、認証または署名のいずれかを選びます。 コミット署名の詳細については、「コミット署名の検証について」を参照してください。
-
[キー] フィールドに公開キーを貼り付けます。
-
[Add SSH key](SSH キーの追加) をクリックします。
-
ダイアログが表示されたら 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