概要
git hub
にpush
しようとした際、下記のエラーによってpush
できなかったので、その解決方法を備忘録も含めて残しておきます。
# 入力コマンド
git push -u origin 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
修正方法
1. 接続確認
下記のコマンドをターミナルに入力して、git hubにアクセスるできるか確認する
(何らかののエラーが表示されるはずです)
ssh -T git@github.com
# エラー文
git@github.com: Permission denied (publickey).
# または下記のエラーが表示される
Warning: Permanently added the RSA host key for IP address 'あなたのIPアドレス' to the list of known hosts.
git@github.com: Permission denied (publickey).
2. 秘密鍵(id_rsa)と公開鍵(id_rsa.pub)の確認
下記のコマンドを入力して、id_rsa
とid_rsa.pub
があるか確認する
ls ~/.ssh
# 下記の二つが生成されていた場合は、新しくid_rsa、id_rsa.pubを作る必要はない
id_rsa id_rsa.pub
もし、id_rsa
とid_rsa.pub
がない場合は、下記のコマンドを入力して作成する
ssh-keygen -t rsa
# コマンド入力後は、Enterを連打して完了する
もっと堅実な方法で作成したい場合は、下記のサイトを参考にして下さい
ターミナルで鍵を作成する
3. 公開鍵(id_rsa.pub)の情報を確認する
下記のコマンドを入力すると公開鍵の情報が表示される為、その情報をコピーしておく
cat ~/.ssh/id_rsa.pub
4. 公開鍵(id_rsa.pub)をgithubに登録する
githubを開く
自分のアイコンをクリックして、Settings
を押下する
サイドメニューバーに、SSH and GPG kes
が表示されている為、その表示を押下する
SSH and GPG kes
を押下するとnew SSH key
が表示されているので、そのボタンを押下する
-
Title
任意でタイトルを入力。公開鍵の使用用途を記載するのが最良の選択 -
Key type
authentication key
の状態で良い -
Key
公開鍵(id_rsa.pub)の情報を貼り付ける (改行や空白に注意)
下記の方法でも、公開鍵(id_rsa.pub)の設定は可能
pbcopy < ~/.ssh/id_rsa.pub
Key typeのsigning key
の補足
signing key
は、S/MIMEを用いて公開鍵に署名を付与する事が可能。署名を付与する事で、本人の妥当性を証明できる。設定方法に関しては、下記を参照
5. githubにsshで接続できるか最終確認
ssh -T git@github.com
# パスワードの入力を促された場合は、PCに登録しているパスワードを入力する
Enter passphrase for key '/Users/ユーザー名/.ssh/id_rsa':
正常に接続できれば、下記のコメントが表示される
Hi あなたの名前! You've successfully authenticated, but GitHub does not provide shell access.
6. git push コマンド
ターミナルからgithubにログインが行えていれば、正常にgit push
コマンドが動作する
git push -u origin main
# 正常にpushした時のコメントが表示される
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
# 以下省略