LoginSignup
0
0

More than 1 year has passed since last update.

git push -u origin masterした際のエラーの対処法

Posted at

エラーの対処

先日、GitHubにpushしようとすると、以下のようなエラーが出現。

$git push -u origin master

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.

翻訳してみると、、

Permission denied (publickey)
→許可が拒否されました (公開鍵)

fatal: Could not read from remote repository
→致命的: リモート リポジトリから読み取れませんでした

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

正しいアクセス権を持っていることを確認してください
そしてリポジトリが存在します

調べていくと、SSH接続という単語が出てくる。

SSH接続とは

SSHとは「Secure Shell」の略で、ネットワークに接続された機器を遠隔操作し、管理するための手段。
各種サーバー機器は、ほとんどの場合、操作をする人から離れた場所にある。そのため、この操作をする人だけが安全にインターネット経由で接続できる手段が必要になる。

GitHubにSSH接続する為には、公開鍵と秘密鍵が必要になる。

公開鍵

サーバー側に持たせておく鍵。
作ったときには「id_rsa.pub」という名前で作成される。

秘密鍵

クライアント側で保有しておく鍵。
誰にも渡してはいけない。

公開鍵と秘密鍵の生成

まずは、公開鍵と秘密鍵のペアの作成

$cd ~/.ssh

ファイルが何もないか確認

$ls

何もないことが確認できたら、鍵の生成

$ssh-keygen -t rsa

何か聞かれたら3回エンターを押せば、
id_rsa(秘密鍵)id_rsa.pub(公開鍵)の2つの鍵が生成されます。
既にid_rsaが存在する人は上書きされてしまうので注意です。

id_rsa.pub(公開鍵)のファイルの中身をコピー

$ cat ~/.ssh/id_rsa.pub

公開鍵をGitHubにアップ

GitHubのページに行き、右上をクリック後「settings」をクリック。
Your Profile画面に行くので、「SSH and GPG keys」をクリック。
New SSH keyをクリックし、公開鍵をアップ。

「title」に公開鍵名、「key」に公開鍵を入れる。

接続を確かめる

$ ssh -T git@github.com

Hi (account名)! You've successfully authenticated, but GitHub does not provide shell access.
上記のような文言が返ってきたら接続完了

再びGitHubにプッシュし、完了。

参考資料

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