【Git/GitHub】設定等備忘録

前提

・M1 Mac
・CLIでのコマンド、Vimは使える

アカウント作成

https://github.co.jp/ からアカウント作成。
・GitとGitHub のユーザ設定を同期する。

git config --global user.name "yourname"
git config --global user.email "your@email.com"

"yourname" と "your@email.com" は自分が GitHub にユーザ登録した際の情報に置き換える。

GitHubにSSHキーを登録する

ssh-keygen -t ed25519 -C "your@email.com"

ssh-keygenのオプション
-t (方式)
作成する鍵の暗号化形式を「rsa」(デフォルト)、「dsa」「ecdsa」「ed25519」から指定する

-C (コメント)
コメントを指定する(デフォルトは「ユーザー名@ホスト名」。「-C ""」でコメントを削除)

(参考)
電子署名EdDSA(ed25519)の数的構造

コマンドの意味
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/your_username/.ssh/id_ed25519):

「ファイル名を入力して」と言われるが、何も入力せず Enter を押すとデフォルトのファイル名で秘密鍵と公開鍵が作成される。

Generating public/private ed25519 key pair.
Enter passphrase (empty for no passphrase):

再度パスフレーズの入力が求められるから、同じパスフレーズを入力。

Generating public/private ed25519 key pair.
/.../.ssh/id_ed25519 already exists.
Overwrite (y/n)?

が表示された場合、y(yes)を入力して上書き。
四角い絵(randomart)が表示されたらOK。
(SHA256とrandomartは各個人によって表示されるものが異なる)

echo -e "\nHost github.com\n  AddKeysToAgent yes\n  UseKeychain yes\n  IdentityFile ~/.ssh/id_ed25519\n" >> ~/.ssh/config

macOS Sierra 10.12.2 以降を使っている場合は、~/.ssh/config ファイルを修正して、キーが ssh-agent に自動的に読み込まれ、パスフレーズがキーチェーンに格納されるようにする必要があります。

新しい SSH キーを生成して ssh-agent に追加する

秘密鍵をssh-agentに追加する。

ssh-add --apple-use-keychain ~/.ssh/id_ed25519

--apple-use-keychain オプションは macOS の ssh-add で、SSH 鍵を ssh-agent に追加する際にパスフレーズをキーチェーンに保存するオプションです。少し前まで -K オプションがこの役割だったのですが、macOS Monterey からは -K オプションは WARNING が出るようになったようです。詳細は man ssh-add コマンドを参照。

macOSのssh-agentでSSH鍵のパスワードを省略する

クリップボードに公開鍵をコピー。

pbcopy < ~/.ssh/id_ed25519.pub

GitHubのトップページ右上の自分のアイコンをクリック→「Settings」を選択。
左メニュー「SSH and GPG keys」をクリックし、右上の「New SSH key」を選択。
Keyの部分に貼り付け(cmd+V)をして Titleは自分のわかりやすい名前をつけて「Add SSH key」を押す。 貼り付けたキーがssh-ed25519 という文字列で始まっているかに注意。

GitHubにつながるかテスト。

ssh -T git@github.com
Hi <YOURNAME>! You've successfully authenticated, but GitHub does not provide shell access.

と出力されたらOK.

permission denied

と出たら、クリップボードにコピーするところからやり直し。

The authenticity of host 'github.com (IP ADDRESS)' can't be established.
RSA key fingerprint is SHA256:   .
Are you sure you want to continue connecting (yes/no)?

と出たら、yes.

End.

参考

電子署名EdDSA(ed25519)の数的構造
新しい SSH キーを生成して ssh-agent に追加する
macOSのssh-agentでSSH鍵のパスワードを省略する
複数のGitHubアカウントを使い分けたい時の設定方法とTips

この記事が気に入ったらサポートをしてみませんか?