0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Please make sure you have the correct access rights and the repository exists.の解決法

Last updated at Posted at 2021-12-07

何をしたのか?

インターン先から支給されたPCでGitに接続しようとしたところ上述のエラーに遭遇。研究室で新規PC購入時Gitに接続すつ際にたびたび出会っているのでこの際にまとめてみました。
参考に載せますが、大変皆さんわかりやすい記事残していただいておりました!
ぜひそちらも参考にしてみてください。

環境

  • M1 Mac Book Pro
  • Big Sur 11.6

解決までのStep

1. ssh keyを作成
2. 作成したものを新規にGitHub登録
3. 作成したssh key を参照するようにconfigを編集
4. 完成

Step1 ssh keyを作成

$ ssh-keygen -t rsa GitHubに登録しているメールアドレス
作成するディレクトリとファイル名を聞かれる。基本的に~/.ssh/id_rsaとなっていればOK
-------------------
Enter file in which to save the key (~/.ssh/id_rsa):
-------------------
パスフレーズは特に必要なければEnterでスキップ
-------------------
Enter passphrase (empty for no passphrase):
-------------------
もう一度同じパスフレーズを入力してくださいと聞かれるので、また何も入力てない場合enter
-------------------
Enter passphrase (empty for no passphrase):
-------------------

以下のコマンドで作成されたことを確認。以下のように表示されればOK
$ ls ~/.ssh/
-------------------
id_rsa id_rsa.pub 
-------------------

ちなみに…

Enter file in which to save the key (~/.ssh/id_rsa)

の部分で好きな名前やディレクトリを入れた場合、後ほど設定する.ssh/configのIdentifyFileの部分の設定を変更する必要があります。

詳しくはStep3で...

Step2 作成したSSH KeyをGit Hubに新規に登録

 新規に作成した公開鍵をGit Hubに登録します。

 クリップボードにcatやlessで表示させたり、下記のコマンドを使ってもコピーできます。

$ pbcopy < ~/.ssh/id_rsa.pub (Mac)
$ clip < ~/.ssh/id_rsa.pub (Windows)

 下記にアクセスして、右上のAdd SSH key から鍵を追加することができます。

GitHubのSSHの設定画面

公開鍵をgithubにアップするが参考になります。

Step3 作成したSSH Keyを参照するようにconfigを編集

 .ssh/configを編集して、作成したSSH Keyを参照するようにしていきます。

vimを立ち上げて~/.ssh/configを編集

$ vim ~/.ssh/config
何も表示されていない場合は、下記内容をコピペ
configファイルが既に存在する場合はHost名が被っていないことを確認して下記内容を追記
-------------------
Host github
  HostName github.com
  IdentityFile ~/.ssh/id_rsa
  User git
-------------------
# iでインサートモード
# インサートモードからescを押した後、:wqで保存して終了

この時に、Step1で

Enter file in which to save the key (~/.ssh/id_rsa)

の部分で好きな名前やディレクトリを入れた場合は、.ssh/configのIdentifyFileの部分を自分用に変更してください。

個人的には、

ls -l | grep ^d
drwxr-xr-x 4 hogehoge staff  136  7  7 21:32 bitbucket
drwx------ 4 hogehoge staff  136  4 28 19:54 gitlab
drwxr-xr-x 4 hogehoge staff  136  7  7 21:33 github
drwxr-xr-x 5 hogehoge staff  170  7  6 14:21 AWS

みたいに.sshでディレクトリを作って、ディレクトリの中にそれぞれ秘密鍵と公開鍵が入るようにしているので、

Host GitHub
    HostName github.com(絶対これ)
    IdentityFile ~/.ssh/github/id_rsa
    TCPKeepAlive yes
    IdentitiesOnly yes
    User git(絶対これ)

というふうにしています。

Step4 Pushしてみる

 ここまでで問題なく使えるようになっているはずです。確認したい場合は、適当にPushしてみるといいと思います。

$ git push -u origin --all
-------------------
Counting objects: hoge, done.
Compressing objects: 100% (hoge/hoge), done.
~~ 略 ~~
master from origin.
-------------------

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?