LOG IN

GithubでSSH接続する鍵を作る(ターミナルこわい)

by aicocco/かんろ

Sourcetreeをインストールしたい!

先月MBPに買い換えてからあまり環境設定をしていなかったので、以前の環境に戻すべくSourcetreeをインストールだ!とDLしたまでは良かったんですが、リポジトリ作ってpushしようと思ったらエラー。
普段はお仕事でGitBucketを雰囲気で使う程度のwebデザイナーなので、エラーがでるとめっちゃ焦る。
ターミナルもSassとGulpのためだけにしか使ってないので、それ以外は全然分からない。

なんで?!とググるもなかなか分からなくて30分くらいインターネットを彷徨ったので、忘備録として書いておきます。(また新しく設定する時、分からなくなるであろう未来の自分のためにも)

Sourcetreeインストールしようとした時の状態は以下の感じ。
・ターミナルこわい
・Githubのアカウント持ってる
・Atlassianのアカウント持ってる

Sourcetreeをダウンロード&インストール

Sourcetreeのサイトからダウンロードして、インストール開始。
設定を進めていってAtlassianアカウントにログイン。
My AtlassianのページにはSourcetreeライセンスのダウンロードっていうのがあったけどリンクが404。
なんでや!とググってみたら、どうやらライセンスダウンロードの必要はなくなってるみたいだったので、スルーしてGithubのアカウントに接続。

リモートリポジトリにpushできない問題

新しく作ったリポジトリに適当なファイルを入れて、commit→pushでエラー。

$ git push -u origin master
Permission denied (publickey).
fatal: Could not read from remote repository.

的なエラーだったんだけど、publickey?なにそれ??状態だったので、とりあえずエラーをコピペしてググってみると、Githubで公開鍵の設定がされてないとそういうエラーがでるらしい。

公開鍵?ssh?

お仕事でも雰囲気でgitにpushしてるだけなので、よく分かってない&Githubでなんか設定しないといけないってなると一気難しく感じてしまう。

色々調べているとターミナルから公開鍵作成して、それをGithubにコピペすれば良いらしいのだけど、ここがよく分かんなくて躓いてしまいました。
たくさん参考記事は出てくるんだけど、コマンドが書いてあるだけでどうすれば良いのか分からない。インターネットって便利だけど、必要な情報見つけるのって難しい。
合ってるのか分からないけど、今回いけた方法は以下の通り。

公開鍵を作る

もうこの辺りからはよく分かってないけどコピペしまくりました。でも、いけた!

まず公開鍵を作成するために、ターミナルを開いて下のコマンドをコピペ。
(アドレスは自分のものに置き換えて)

$ ssh-keygen -t rsa -C "your_email@example.com"

入力すると3回くらい何か聞かれるけど、Enterで進みます。
これで鍵が作成されてるらしい。この鍵をGithubのsshの設定にコピペすると公開鍵の設定が済むようです。

GithubのSSH keyをコピペする

GithubのSettings>SSH and GPG keysの項目へ行き、New SSH keyボタンをクリック。
公開鍵を設定するフォームが開くので、そこにさっき作った鍵をコピペします。
鍵をコピーするには、さっき開いたターミナルの画面に下のコマンドを実行。

$ pbcopy < ~/.ssh/id_rsa.pub

これで鍵をコピーできているので、Githubへ行ってkeyのフォームにペースト、Add SSH keyのボタンを押すと設定完了!
接続できてるか確認するには下のコマンドを実行して、Hi (アカウント名)! You've successfully authenticated, but GitHub does not provide shell access.という文章がでてきたらOKみたいです。

$ ssh -T git@github.com

ここまで済んだらSourcetreeに戻って、さっきcommitまでできていたやつをpush!
ターミナル全然分からなくて苦労したけど、どうにかpushできて一安心。

コピペばっかりだったけど、なんとか前の環境に戻せました!
たまーにしか設定しないから、やるたびに記憶がリセットされる上に雰囲気でSourcetreeとGithub使ってるので、公開鍵設定にだいぶ躓いてしまいました。
もし、Githubの公開鍵って何??っていう人の解決のヒントに少しでもなれば幸い。

設定をするのに、たくさんの記事を参考にさせてもらいました。
ありがとうございます。

参考にした記事&ブログ

Github で Permission denied (publickey). と言われた時

GitHubの初期設定(SSH接続からリポジトリへのpushまで)

gitHubでssh接続する手順~公開鍵・秘密鍵の生成から~

SSHの公開鍵を作成しGithubに登録する手順(mon_sat at Co-Edo(半年前の自分への教科書 / 別院))



aicocco/かんろ
OTHER SNAPS