個人でしばらくgitを使っていなかったのですが、いろいろセキュリティ周りが変わっていたのでメモ。
事象
githubの初期設定で、下記をコピペして実行するも、pushできない
$ echo "# test" >> README.md
$ git init
$ git add README.md
$ git commit -m "first commit"
$ git branch -M main
$ git remote add origin https://github.com/erisunaga/test.git
$ git push -u origin main解決方法:SSHで接続するようにする
- SSHの秘密鍵・公開鍵を作成
- Githubに公開鍵を登録
- GitをSSH接続に設定
①秘密鍵・公開鍵を作る
$ cd ~/.ssh
$ ssh-keygen -t ecdsa -b 521 -C “****@sample.com” // お作法として、メールアドレスをコメントで入れるらしい
$ ls
id_ecdsa id_ecdsa.pubパスフレーズを聞かれるので、入力して覚えておくこと。
.pubが公開鍵。これをgithubに登録します。
②公開鍵を登録
https://github.com/settings/keys
こちらから公開鍵を登録できます。
「New SSH key」ボタンを押下し、Keyに.pubファイルの内容を貼り付け。
※.pubを開くときは、私は下記手順で行いました
$ cd ~/.ssh
$ open . //Finderで.sshフォルダを開きますこのあと、.pubファイルをアプリ指定で開く。テキストエディタで開けます。
③gitの設定
まず下記で、SSH接続できているか確認します。
$ ssh -T git@github.com
Enter passphrase for key '/Users/Eri/.ssh/id_ecdsa': //パスフレーズを入力
Hi erisunaga! You've successfully authenticated, but GitHub does not provide shell access.リモートリポジトリのURLを変更します。
$ git remote set-url origin git@github.com:<Gitユーザー名>/<リポジトリ名>.git
//本例の場合は下記
$ git remote set-url origin git@github.com:erisunaga/test.git結果
$ git pull
Enter passphrase for key '/Users/Eri/.ssh/id_ecdsa':
Already up to date.403エラーでなくなりました。


