ta_07.blog

アプリ開発に関する学習時の備忘録( Swift / Java / Unity / Git など)

【Git】個人的に分かりやすかったGit参考サイトメモ

参考サイトメモ

No サイト・スライド 備考
1 サル先生のGit入門 いろんなサイトでも取り上げられている優良サイト
2 こわくない Git コミットやブランチ、マージに関して詳細に学べそう。実際にGitで運用する際に読み返したい
3 いつやるの?Git入門 Gitの構造がとても分かりやすく説明されていた
4 Git公式ドキュメント 上記の優し目のサイトを見た後の方が、理解が進むかもしれない

【GitHub】GitHubのSSHキー設定手順

はじめに

GitHubアカウントを作成したため、公式ドキュメントを参考にSSHキーの設定手順をまとめます。
SSHキーは、GitHubSSH接続*1する際に必要になるもの)

GitHub公式としては「HTTPS」での接続を推奨しているが、学習兼ねて設定を行った。
Set up Git - GitHub Docs

PC環境

MacOS Catalina(バージョン 10.15.7)

前提条件

  • GitHubでアカウントを作成済み
  • 既存のSSHキーではなく、新規作成したSSHキー利用したい場合

参考URL


設定手順

1、新しい SSH キーを生成する(公開鍵、秘密鍵

 1−1、ターミナルを起動し、ssh-keygen コマンドでSSHキーを生成する。

ssh-keygen -t ed25519 -C "[id]+[GitHubアカウント名]@users.noreply.github.com"

 ※メールアドレスにはGitHubアカウントのメールアドレスを指定する。
 通常使いするメールアドレスを指定するのに抵抗があったので、GitHubから提供される”noreply”のついたアドレスを指定した。

 1−2、SSHキーの保存場所を聞かれるので、そのままEnterキーを押下する。

> Generating public/private ed25519 key pair. 
> Enter file in which to save the key (/Users/[Macユーザー名]/.ssh/id_ed25519): 


 1−3、パスフレーズの入力が求められるので、任意の値を入力する(確認のために2回入力必要)。

> Enter passphrase (empty for no passphrase): 
> Enter same passphrase again: 

 ※未入力のままでも可能だが、セキュリティのためにも入力を実施した。
 正常に入力が完了すると、以下の情報がターミナル上に表示される。

> Your identification has been saved in /Users/[Macユーザー名]/.ssh/id_ed25519.
> Your public key has been saved in /Users/[Macユーザー名]/.ssh/id_ed25519.pub.
> The key fingerprint is:
> SHA256:[文字列] [id]+[GitHubアカウント名]@users.noreply.github.com


 1−4、生成されたSSHキーを確認する。

ls -al ~/.ssh

 ※二つのファイルが生成されていることを確認する。

生成されたファイル 鍵の種類
id_ed25519 秘密鍵
id_ed25519.pub 公開鍵


2、SSH キーを ssh-agent に追加する

ssh-agentとは: 秘密鍵に設定されているパスフレーズを保存してくれるツール。
 2−1、ssh-agentを開始する。

eval "$(ssh-agent -s)"


 2−2、~/.ssh/config ファイルがデフォルトの場所にあるかどうかを確認する。

open ~/.ssh/config
上記コマンド実行結果 > The file /Users/[Macユーザー名]/.ssh/config does not exist.


 2−3、ファイルがない場合は、引き続き以下コマンドを入力してファイルを作成する。

touch ~/.ssh/config


 2−4、~/.ssh/config ファイルを開いて、以下の様に修正する。

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519

 ※キーにパスフレーズを追加していない場合は、UseKeychain 行を省略すること。
 ※IdentityFile 行には、作成した秘密鍵のファイルを記載する。

 2−5、SSH秘密鍵ssh-agent に追加して、パスフレーズをキーチェーンに保存する。

ssh-add -K ~/.ssh/id_ed25519
> Enter passphrase for /Users/[Macユーザー名]/.ssh/id_ed25519: 
> Identity added: /Users/[Macユーザー名]/.ssh/id_ed25519 ([id]+[GitHubアカウント名]@users.noreply.github.com)

 ※パスフレーズの入力が求められた際は、SSHキー作成時のパスフレーズを入力する。

3、SSHキー(公開鍵)を GitHub アカウントに追加する

 3−1、SSHキー(公開鍵)をクリップボードにコピーする。

pbcopy < ~/.ssh/id_ed25519.pub


 3−2、GitHubを開き、[プロフィール] > [Settings] > [SSH and GPG keys] を開く。

 3−3、”Title”と”Key” を入力し、[Add SSH Key] ボタンを押下する。

f:id:ta_07:20210131023202p:plain
GitHub_AddSSHKey

 3−4、GitHubアカウントのパスワード入力が求められるので、パスワードを入力して登録完了する。

4、SSH接続をテストする

 4−1、ターミナルを起動し、以下コマンドで接続確認する。

ssh -T git@github.com


 ※以下の様な警告が表示された場合は、”yes” と入力する

> The authenticity of host 'github.com ([IP ADDRESS])' can't be established.
> RSA key fingerprint is SHA256:[Value].
> Are you sure you want to continue connecting (yes/no/[fingerprint])?


 ※引き続き表示されるメッセージにアカウント名が含まれていることを確認できたら、接続確認完了。

> Warning: Permanently added 'github.com,[IP ADDRESS]' (RSA) to the list of known hosts.
> Hi [GitHubアカウント名]! You've successfully authenticated, but GitHub does not provide shell access.

*1:Secure SHell(セキュアシェル)の略。安全にリモートコンピュータと通信するためのプロトコルの1つ。