創造のその先へ ShibaEmon

Macで一番シンプルなGitHub SSH接続方法

Atsuhito TEAM:ShibaEmon,GitHubProgramming

数多くの記事が存在していますが、人それぞれ違った意見や方法などが掲載されており、迷いますよね…

しかも、手順通りやってみたものの、エラーで次に進めなかったりで時間を消耗してしまいます。

私が、行ったGitHubへのSSH接続の中で最もシンプルで解決できた方法をご紹介いたします。

前提条件

私は最近MacBook ProのOSをダウングレードし、完全にまっさらな状態でスタートしました。

新しくMacのパソコンを購入した方ならば、同等の知見を活かせるかと思います。

以前、同じMacBook ProでSSH接続していたのですが、初期化すると全く繋がらなくなります。

そこで、一から設定し直して、無事GitHubにSSH接続ができたので、その手順を残します。

この記事でできること

通常、リモートリポジトリに接続する際には、毎回SSH接続の手順を踏まなければなりませんでした。

この記事でご紹介するGitHubへのSSH接続方法の手順は、デフォルトで毎回SSH接続の手順を踏まなくても自動接続してくれるというものです!

開発もスムーズに行えますね!

1.GitHub用の秘密鍵&公開鍵を生成

ターミナルを開きます。

以下のコマンドを入力してください。

ちなみに、sample@example.comはご自身が接続したいGitHubに登録されている、メールアドレスに書き換えます。

$ ssh-keygen -t ed25519 -N "" -f ~/.ssh/github -C sample@example.com

- `-t` : 鍵の種類を選択。安全面と性能面で最強な[Ed25519](https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%89%E3%83%AF%E3%83%BC%E3%82%BA%E6%9B%B2%E7%B7%9A%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E7%BD%B2%E5%90%8D%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0#Ed25519)アルゴリズム
- `-C` : [GitHubに設定したメールアドレス](https://github.com/settings/emails)
- `-f` : ファイル名を指定。デフォルトは `~/.ssh/id_ed25519`
- `-N` : パスフレーズの指定。 `""` でパスフレーズなし
    - よりセキュリティを強くするなら設定します。
Generating public/private ed25519 key pair.
/Users/mbp/.ssh/github already exists.
Overwrite (y/n)? y          ★前回登録していた方はyを入力して上書き★ 
Your identification has been saved in /Users/mbp/.ssh/github.
Your public key has been saved in /Users/mbp/.ssh/github.pub.
The key fingerprint is:
★ここにkeyとメールアドレスが表示されます。★
The key's randomart image is:
+--\[ED25519 256\]--+
★ここはkeyのイメージが入っています。★
+----\[SHA256\]-----+

2.GitHubに公開鍵を登録保存

下記のコマンドをターミナルへ入力することで、クリップボード保存が可能になります。

$ pbcopy < ~/.ssh/github.pub
- GitHubの公開鍵の設定画面を開く
    - [https://github.com/settings/keys](https://github.com/settings/keys)
- `New SSH key`
- Titleはお好みですが、管理しやすいように指定のパソコンのアカウント名や生成した日付を入力します
- Key にクリップボードにコピーした公開鍵を貼り付ける(command+V)
- `Add SSH Key` で鍵を登録する

3.Vimで追記する

以下のコマンドをターミナルへ入力して、Vim編集画面に入ります。

$ vi ~/.ssh/config

あまり、解説されていない記事を多く見かけるので、追記いたしますがVimというテキスト編集ができる画面に入ります。

編集画面に入ったら下記の画面が出るかと思いますので、iを入力して編集モードに切り替えます。

~
~
~
~
~

\-- insert --になれば編集ができるようになります。

下記のコードを一番上にコピペします。

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

保存して完了という手順になりますが、Vimの場合ですと『ESC』を押して編集画面を終了して、『:wq』で保存することができます。

最後に下記のコマンドをターミナルへ入力します。

$ ssh -T github.com

以下が表示されれば無事に接続完了です!!

Hi アカウント名! You've successfully authenticated, but GitHub does not provide shell access.

お疲れ様でした!

参考記事 https://qiita.com/ucan-lab/items/e02f2d3a35f266631f24 (opens in a new tab)