GithubにSSH接続し、pushする(Mac版)

他の記事で必要になったので、残しておきます。

Githubへ登録

まずはgithubに登録してください。

秘密鍵・公開鍵の作成

ターミナルを開いて、ssh-keygenコマンドを入力します。

$ ssh-keygen -f  ~/.ssh/id_rsa_test

-fオプションはファイル名を指定します。
指定しないと~/.ssh/id_rsaがデフォルトで設定されますので、それで良い方は指定しなくてもOKです。

他にもオプションがありますので、詳しくは以下のサイトを参考にしてください。

$ ssh-keygen -f  ~/.ssh/id_rsa_test
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/user/.ssh/id_rsa_test
Your public key has been saved in /Users/user/.ssh/id_rsa_test.pub
The key fingerprint is:
SHA256:HF/of507Bjf4rrNqfJNBXkSqKAWHSSKiaR1Ig/d6nUiQ user@user.local
The key's randomart image is:
+---[RSA 3072]----+
|      +...o+. .. |
|   . o o  ..  .. |
|  . o . o.. ...  |
| . o . ..E o.. . |
|  =     S.*.o o  |
| o .     ..+ * +.|
|  .       o + B.o|
|         . + * +.|
|          o.ooBo.|
+----[SHA256]-----+

いろいろ聞かれますが、Enterを押し続けるとこのような画面になり、作成完了です。

-fオプションで指定した場所、/Users/user/.ssh/id_rsa_testと/Users/user/.ssh/id_rsa_test.pubが秘密鍵と公開鍵です。

パーミッションを確認、変更する

cdコマンドのみを入力し、

$ cd

lsコマンド、オプションには属性表示-lと隠しファイルも含む全てを表示する-aを入力。

$ ls -la

以下のようにrwx——となっているのはパーミッション700で、自分だけがアクセスできるようになっています。

drwx------  15 user  staff    480  2 19 06:55 .ssh

上記以外の場合は、以下のコマンドを。

$ chmod 700 ~/.ssh

無事に変更されたか確認したい場合には先ほどのls -laコマンドで。これで完了。

公開鍵をGithubへ登録

pbcopyコマンドで、その後に作成した.pub拡張子の方を指定。

pbcopy < ~/.ssh/id_rsa_test.pub

Githubを開き、右の自分のアイコン→プルダウンリストのSettings→左メニューSSH and GPG keysNew SSH key

titleはなんでもOK、Key typeもそのまま、Keyに先ほどpbcopyコマンドでコピーされているものを貼り付ける。Add SSH key押下。

configファイルを編集

秘密鍵・公開鍵を作成した時に、-fオプションでファイル名やフォルダを任意のものに指定した場合のみ、この作業が必要となります。
ターミナルを開いて、以下のコマンドを入力します。

$ vim ~/.ssh/config

以下のように編集します。

Host github github.com
  HostName github.com
  IdentityFile (秘密鍵があるフォルダとファイル名)
  User git

IdentityFileの後ろを指定してあげます。先ほどの例だと~/.ssh/id_rsa_testとしてあげたので、

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

以上になります。他にもデスクトップにあるならば~/Desktop/id_rsa_testなどとしてあげましょう。

Githubにリポジトリを作成

GithubにてTop RepositoriesのNew→Repository nameを適当に入力し、Create repositoryを押下。

Githubへpushしてみよう

リポジトリが作成できたら、以下のような文字列が表示されると思います。

echo "# test" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:testtest/test.git
git push -u origin main

Quick setup — if you’ve done this kind of thing beforeの欄にHTTPSとSSHが選択できるようになっていますが、SSHを選択。

これらの文字列を1行ずつコピーし、ターミナルで実行してみましょう(実行するのは作業しているディレクトリ内です。)

Githubにて確認

先ほどのリポジトリのページにいくと、ズラッとファイルやフォルダが表示されていると思います。

これらのコードを、ローカルやサーバーに持ってきたい・Cloneしたい時にこちらが必要となります。
Laravelのデプロイではこちらを使いますので、覚えておきましょう。