環境
- System Version: macOS 13.3.1 (22E261)
- Kernel Version: Darwin 22.4.0
- Shell: zsh
ターミナルでsshキーを生成する
下記コマンドを入力する
ssh-keygen -t rsa -b 4096 -C "hogehoge@example.com"
-Cはコメントを指定するオプションであり、Githubの公式ドキュメントでメールアドレスを指定するよう書かれています。
ここで指定したメールアドレスは公開鍵に埋め込まれます。
メールアドレスを公開鍵に含めるのは、他の人が利用する際に所有者を特定できることで何かあった際に連絡できるようにするという目的がありそうです。
あくまでコメントなので空白でも良いと思います。
生成された公開鍵と秘密鍵は~/.ssh/に配置されます。
- id_rsa.pub: 公開鍵
- id_rsa : 秘密鍵
Githubで公開鍵を登録する
Settings > SSH and GPG keys にて New SSH key をクリック
Titleは自分がわかればOKなので適当に入力
Keyは先程生成した公開鍵を開いて、中身をそのままペースト
Add SSH key で登録します。
ターミナルでSSHエージェントに秘密鍵を登録する
下記コマンドを入力する
ssh-add ~/.ssh/id_rsa
ターミナルでSSH認証する際に使う秘密鍵を登録する
下記コマンドを入力する
ssh -i ~/.ssh/id_rsa git@github.com
The authenticity of host 'github.com (20.27.177.113)' can't be established.
ED25519 key fingerprint is SHA256:************************.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?
のようなメッセージがでてきて、対応を求められると思います。
これは、初めてGitHubのSSHサーバーに接続しようとしている場合に表示されるメッセージです。
SSHでは、接続先のホストの公開鍵を確認して安全な接続を確立します。しかし、初めて接続する場合、その公開鍵がローカルシステムに存在しないため、接続の安全性を確認することができません。
yesと入力して、接続を続行します。
接続先のホストの公開鍵がknown_hostsファイルに追加され、次回からは自動的に検証されるようになります。
クローンする
Githubでクローンしたいリポジトリを開き、SSH用のURLをコピーします。
git@github.com:[owner_name]/[repository_name].git
ターミナルでクローン先のDirectoryに移動し、次のコマンドを入力します。
git clone git@github.com:[owner_name]/[repository_name].git
うまく設定できていれば、クローンできるはずです!