AWS EC2で勉強のため作業していたらgithubからgit cloneするときに普通にhttps使うとエラーが出るようになっていました。
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-30-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/名前/リポジトリ.git/': The requested URL returned error: 403
簡単にいうとアクセストークンというのを使うか、ssh使ってくれ。ってこと
今回私はEC2のUbuntuで起こりましたが、それ以外でも起こりますし、初心者でAWSもわからない状態でこんなエラー出たらデプロイはやっぱり無理!!となりそうなので記事書きます。
慣れればなんの問題もないし、新しいPCで環境構築するときにもsshの設定は必ずするのでできるようにしておきましょう。
鍵作る
今回EC2で作った環境はUbuntu。まあ他のLinuxでもMacでも同じです。
ubuntu@ip-172-31-11-111:~$ cd ~/.ssh
.ssh
というディレクトリあったらOKなかったらディレクトリ作る。
$ mkdir ~/.ssh
鍵を作ります。そして中身を表示させる。
$ ssh-keygen -t rsa
なんか表示されますが、こだわりがないならEnter 3回ほど押せば問題ありません。
設定を変更したい場合は適時変更してください。
秘密鍵と公開鍵のファイルが作成されたはずです。
- id_rsa (秘密鍵)
- id_rsa.pub (公開鍵)
$ cat id_rsa.pub
表示された
ssh-rsa ~~~~~~~~
みたいな長い文字列全部コピー。これが公開鍵なのでgithubに登録します。
githubでSSHキー登録
githubにログインして、↓のURLでいけると思う
行けなかったら
左上のアイコン > settings > SSH and GPG keys
で行けるはず。
「New SSH key」を押す
Titleは自分でわかるような名前つければOK
Keyにさっきコピーしたssh-rsa ~~~~~~~~
みたいなのを貼り付ける
githubとの接続確認
接続確認します。
$ ssh -T git@github.com
Are you sure you want to continue connecting (yes/no/[fingerprint])?
yesって打てばOKです。You've successfully authenticated
みたいなのでたらOK
git cloneしてください。URLはgithubのssh選んで表示されたものをコピペ
任意のディレクトリで以下をcloneを実行。そのディレクトリにcloneされます。
(git@github.com:ユーザー名/リポジトリ名.git
の部分をコピペしたものを貼る)
$ git clone git@github.com:ユーザー名/リポジトリ名.git