GitHubに公開鍵を登録する方法

2021年06月17日

こんばんは!
みなさんコード書いてますか?

どんなにしょぼいプログラムスニペットでも自分で書いてアウトプットしたものは資産になっていくので、ぜひGitHubに蓄積していきましょう。GitHubは無料アカウントでもプライベートリポジトリ作り放題ですので気兼ねなく利用できます。

今回はGitHubにSSH公開鍵を登録してGitリポジトリ操作をできるように環境設定します。

前提

MacOSかLinux環境を想定しています。

SSHキーを生成する

キーペアを作成
$ ssh-keygen -t ed25519 -C "mymail@address.com"

キーペアを作成します。メールアドレスは自分のものに読み替えてください。

$ ls ~/.ssh | grep id_ed25519
id_ed25519
id_ed25519.pub

秘密鍵と公開鍵が id_ed25519 という名前で出来ます。

ed25519アルゴリズムについて

現在はRSAより強固なed25519を用いたキーペア生成が推奨されています。 比較的新しいアルゴリズムになるので、インストールされているOpenSSHが古い場合はRSAで生成しても問題ありません。

RSAでキーペアを作成
$ ssh-keygen -t rsa -b 4096 -C "mymail@address.com"

GitHubに公開鍵を登録する

SSHキー管理画面

https://github.com/settings/keys にアクセスして「New SSH key」ボタンをクリックします。

$ pbcopy < ~/.ssh/id_ed25519.pub

公開鍵をコピーしておきます。

$ cat ~/.ssh/id_ed25519.pub

pbcopyコマンドがない場合は標準出力してコピーしましょう。

公開鍵登録画面

適切な管理名を付けて先程コピーした公開鍵をペーストします。「Add SSH key」をクリックすれば完了です。

リポジトリからソースコードをクローンする

git cloneする

リポジトリを作成してクローンします。 SSHで接続するので、HTTPSではなく「SSH」のリポジトリURLをコピーしてください。

$ git clone git@github.com:myaccount/sample-repository.git testrepos
Cloning into 'testrepos'...
remote: Enumerating objects: 51, done.
remote: Counting objects: 100% (51/51), done.
remote: Compressing objects: 100% (38/38), done.
remote: Total 51 (delta 6), reused 47 (delta 5), pack-reused 0
Receiving objects: 100% (51/51), 12.51 KiB | 2.08 MiB/s, done.
Resolving deltas: 100% (6/6), done.

無事クローンできました!

まとめ

今回はCoffee Breakな内容でしたが忘備録として記事化しました。

WindowsでもGitをインストールするとssh-keygen.exeがバンドルされるようなので、同じ手順でキー生成できると思います。

GitLabなどの他のGitホスティングサービスでも同じ手順でキーペアを作成して公開鍵を設定するので、覚えておくと良いですね。

それでは、良きコーディングライフを!


Profile picture

Written by なまちゃ Web系エンジニアPython好き。バックエンド/フロントエンド問わずマルチな方面でエンジニアリングしています。