💻

macOS MontereyにてGithubの設定

2022/09/14に公開

これは何?

macOS Montereyにgithubの設定を行ったさいの私的メモです。いつも忘れるのでメモしました。
最近のgithubは、sshで認証を行う必要がありますので、sshに関する設定を行います。

gitのインストールは、済んでいるものとします。
私はOSとともにインストールされるものとは別のgitを使用しています。

github向けの初期設定

$ git config --global user.name "YOUR_NAME"
$ git config --global user.email "YOUR_EMAIL"
$ git config --global core.quotepath false
$ git config --global url."git@github.com:".insteadOf "https://github.com/"

公開鍵の作成

以下のコマンドを実行すると、のファイル名を聞かれるのでid_rsa_gitとしています。
その後、パスフレーズが2度聞かれるので適切に設定します。
(忘れないようにしてください。)

メールアドレスは、ご自身のものをご使用ください。

また、以下の作業を行うディレクトリは~/.sshの中が良いでしょう。

$ ssh-keygen -t rsa -C "YOUR_EMAIL"

成功すると、公開鍵が作成されます。

$ ssh-keygen -t rsa -C "YOUR_EMAIL"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xxxx/.ssh/id_rsa): id_rsa_git
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa_git
Your public key has been saved in id_rsa_git.pub
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx YOUR_EMAIL
The key's randomart image is:
+---[RSA 3072]----+
|XXX              |
|XXX              |
|XXX              |
|XXX              |
|XXXXXXXXX        |
|XXXXXXXX         |
|XXXXXXXXX        |
|XXXXXXXX         |
|XXXXXXXX         |
+----[SHA256]-----+

出来上がるファイルは、以下のとおりです。

$ ls
id_rsa_git id_rsa_git.pub

両ファイルとも600でないと、認証の際にLoad key "/Users/ユーザー名/.ssh/id_rsa_git": bad permissionsと叱られます。

GitHubへ公開鍵を登録

いよいよ先ほど生成された公開鍵をクリップボードにコピーします。

$ pbcopy < ~/.ssh/id_rsa_git.pub

GitHubへログインし、Settingを開きます。

以下の画面のSSH and GPG keysを選択し、

New SSH keyをクリックします。

タイトルとKeyを設定します。

タイトルはPCの識別名を、Keyは先ほどクリップボードにコピーしたid_rsa_git.pubの内容を貼り付けます。
Add SSH keyをクリックすると以下の画面となり、先ほどのSSH key登録のが完了します。

接続の確認

ここで、シェルから接続の確認を行います。

$ ssh -T ssh.github.com
Hi YourNAME! You've successfully authenticated, but GitHub does not provide shell access.

となれば、完了です。

Issue

OS再インストール時の再設定

OSをクリーンインストールなどした場合は、これらのファイルと~/.ssh/config~/.ssh以下にコピーすれば設定終了です。

しばらく使っているとログインできなくなる

リモートリポジトリの名前変更などしていないのに

% git push -u origin main                                                                                                                                        [~/Dropbox/00_works/portfolio/zenn-contents][main]
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

となったら、もう一度

$ ssh -T ssh.github.com
Hi YourNAME! You've successfully authenticated, but GitHub does not provide shell access.

すれば、pushできるようになります。

GitHubで編集を提案

Discussion