技術は記憶の彼方へと

覚えたつもりですぐに忘れるエンジニアの備忘録

【Git】GitHubにssh keyを登録する -備忘録

日々を仕事に追われ、個人的にプログラム作成などができておらず更新ができていませんでした。
そんな状態だったので、リハビリを兼ねて少しずつプログラミングも進めていけたらなぁと思いつつ、久々にGitに触れました。
久々すぎてアカウント忘れて、アカウント作成しなおして1からのスタートです。
コンソールでのGit操作にはアクセストークンが必要なので、今回はssh keyを使っていく事として登録までやります。

目次

鍵を作成する


ターミナル(Windowsではコマンドプロンプト)を起動します。
起動後、以下のコマンドを入力します。
(your_email@example.comはGitアカウントとして登録しているE-Mailアドレスに変更してください。)

$ ssh-keygen -t ed25519 -C "your_email@example.com"

上記ではED25519というアルゴリズムを用いてキーペアの作成を行っていますが、利用しているシステムによってはサポートされておらず失敗する事があります。
その場合には以下のコマンドを試してみてください。

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

これらのコマンドを打ったら何か聞かれると思います。それぞれEnter押下で問題ないですが、何を言われてるのかだけ以下に記しておきます。(ED25519のアルゴリズムで生成させています。)

Generating public/private ed25519 key pair.

公開鍵/秘密鍵のペアをed25519のアルゴリズムで作成する。

Enter file in which to save the key (C:\Users\user/.ssh/id_ed25519):

鍵を保存するファイルを入力してください。
私の環境のデフォルトではC:\Users\user/.ssh/id_ed25519となっています。
変更したい場合はここで入力してからEnter、変更しない場合はそのままEnterを押下すればデフォルトで作成されます。

Enter passphrase (empty for no passphrase):

パスフレーズを入力してください。
パスフレーズを設定する場合は入力してEnterを、設定しない場合はそのままEnterを押下します。

Enter same passphrase again:

設定したパスフレーズを再度入力してください。
先ほど設定した場合もしなかった場合も確認の為、聞かれます。
設定した場合は設定したパスフレーズを入力してEnter、していない場合はそのままEnterを押下します。
出来上がった鍵は2種類あり、秘密鍵と公開鍵になります。
名前の通り、秘密鍵は自分だけが持つ鍵で鍵の中身の情報は絶対に誰にも公開してはいけません
私の場合デフォルトで、id_ed25519とid_ed25519.pubという名前で鍵が作成されましたが、末尾に「.pub」とついているものが公開鍵です。

作成した鍵をGitHubにアップする


先ほど作成した鍵を、GitHubにアップします。

https://github.com/settings/ssh

上記リンクから、公開鍵の設定を行います。
f:id:Cloudvelse:20211108141344p:plain
こんな表記があると思いますので、New SSH keyをクリックします。(Addとなっているかもしれません。)
f:id:Cloudvelse:20211108141610p:plain   上記のような画面に遷移します。
Titleに鍵の名前、Keyに鍵の中身を入力します。
鍵の名前は任意の名前にすれば問題ありません。
鍵の中身については、以下のコマンドでクリップボードにコピーすると便利です。
Windowsの場合

$ clip < .ssh\id_ed25519.pub

Macの場合

$ pbcopy < ~/.ssh/id_ed25519.pub

でコピーして、Keyのところにペーストします。
(.ssh\id_ed25519.pubの部分は上記の鍵を作成するで作成した鍵の名前になります)
最後に、下のAdd SHH keyを押下すれば、鍵が登録されます。

確認


うまく接続できるかの確認をしておきましょう。
以下のコマンドをターミナル上で入力します。

$ ssh -T git@github.com

成功すれば以下のようなメッセージが帰ってきます。

Hi (GitHub UserName)! You've successfully authenticated, but GitHub does not provide shell access.

うまくいかなかった場合、

Error: Permission denied (publickey) - GitHub Docs

GitHubの公式ドキュメントが役に立つかもしれません。
入力のミスの可能性もありますので、それらを確認して、ダメそうなら一度GitHubに登録した鍵を削除し、上記手順で再度試してみるとうまくいくこともあります。

最後に


今回は、GitHubをコンソールで扱えるようにするための準備を行いました。
久々だったこともあって少し時間がかかりましたが、問題なく扱えるようになったかと思います。
あくまで備忘録として残してるだけなので、わかりずらいところもあるかとは思いますが、何かの役に立てば幸いです。
そういえば、私は無料ユーザなのでPrivateリポジトリの数に制限があったように思ってましたが、制限がなくなってますね。
使い勝手がよくなってるのでありがたいです。
それでは、今回はこの辺で。