##エラーの対処
先日、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
→致命的: リモート リポジトリから読み取れませんでした
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」に公開鍵を入れる。
<img src='https://i.gyazo.com/9b3c4462f514525f498bbb10e133eb1b.png'>
###接続を確かめる
$ ssh -T git@github.com
Hi (account名)! You've successfully authenticated, but GitHub does not provide shell access.
上記のような文言が返ってきたら接続完了
再びGitHubにプッシュし、完了。
##参考資料
https://qiita.com/shizuma/items/2b2f873a0034839e47ce