tamakipedia

鎌倉でフロントエンドエンジニアをしています。Wordpress/Javascript/JQuery が得意で、現在React勉強中です!

【git】githubにssh鍵登録をする

会社で使っているパソコンがぶっ壊れました。
せっかく私の大好きな大先輩からお譲りいただいた代物だったのに、、、

というわけで、ゴールデンウィークはパソコンのない日々、、、
もういっそのこと山に籠もってインターネットのない暮らしをしようかな笑

結局ゴールデンウィーク明けに支給されることになったので、
その間は会社にあるデスクトップを借りることに。。

以前の作業していたブランチをgit から落としてきたときに問題は起こりました。

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.

「リモートリポジトリへのアクセス権限がありません」
新しく使っているパソコンはまず権限を与えるところから始まるのですね。

ということで合鍵を作成して相棒のgithubに渡していきたいと思います。

ssh鍵登録

gitに登録してあるメールアドレスを紐つけた暗号鍵を生成します。
'-t rsa'はRSAというタイプの暗号の鍵を作るという意味らしいです。

$ ssh-keygen -t rsa -C example@icloud.com

すると、下のような質問が帰ってきますが
全てエンターでokです。

Enter file in which to save the key (/Users/me/.ssh/id_rsa):     #鍵ファイルのの保存先はどこですか
Enter passphrase (empty for no passphrase):                          #パスワードは
Enter same passphrase again:                                                   #もう一度パスワード

鍵は ~/ssh ディレクトリの中に保存されます。

$ ls ~/.ssh/

.sshディレクトリの中には公開鍵と秘密鍵が作成されています。

id_rsa           #秘密鍵
id_rsa.pub   #公開鍵

公開鍵を開き、中身をコピーしてgithubに貼り付けていきます。

# id_rsa.pubを開く  
$ less ~/.ssh/id_rsa.pub

ファイルを開くと以下のようになっています。その中でも
ssh-rsa から メールアドレスの手前までをコピー。

ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
mail@mail.com

git hub に公開鍵をコピー

github > settings > SSH and GPG keysをクリック
そして、右上の緑のボタン'New SSH key'で新しい鍵を作成できます。
f:id:okinawanpizza:20200506042506p:plain

ここに先ほどコピーしてきた部分を貼り付けてください。
(ssh-rsa ~ xxxx まで!!)

これでgithub上での操作は完了です。

configファイルの設定

configファイルを作成します。

$ vim ~/.ssh/config   

ファイルに

Host github
  HostName github.com
  IdentityFile ~/.ssh/id_rsa
  User git

を記入して準備完了です。

リモートとつながっているかの確認を最後に行います。

ssh -T git@github.com

すると次のような文章がでます。

Hi xxxxxxxxx! You've successfully authenticated, but GitHub does not provide shell access.

これで接続完了です。!! もうgit push もpullもできるようになっています。

githubにコピーするところで、
最初のssh-rsaを抜かしてしまったりすると、登録できませんのでそこだけ注意が必要です!

終わり

参考にさせていただきました!
https://qiita.com/Toshimatsu/items/9f7f2fd30fe456bd64b6