🔑

Git と GitHub 基本操作手順(SSH設定編)

2024/11/28に公開

はじめに

初心者向け基本操作手順の備忘録である.

ローカルと GitHub の接続と基本的なコミットとプッシュの手順を記載する.

この手順を実行するタイミングは下記 2 つである.

  • はじめて GitHub を使用するとき.

  • 新しい PC で GitHub にアクセスするとき.

ローカル PC と GitHub の通信には「SSH 通信」を使用する.

SSH 通信の流れ

  1. 「公開鍵」「秘密鍵」の 2 種類の鍵ファイルを作成する.この 2 つはペアになっている.

  2. 「公開鍵」の内容を GitHub 上に登録する.「秘密鍵」のファイルはローカル PC に保存する.

  3. ローカル PC に通信用の設定を記述する.

  4. 両者で通信を行う際,「公開鍵」と「秘密鍵」の組み合わせが合っている場合のみ通信が成功する.

本項では,この SSH 通信を行うための設定を行う.

作業ディレクトリの確認

💻 ターミナルの操作

ターミナルを起動するとホームディレクトリにいるはずだが一応下記を実行.

cd ~

フォルダの準備

💻 ターミナルの操作

  • ssh-key は適切な場所に配置しないと動かない.

  • 以下の手順でフォルダを準備する.

下記コマンドでファイルとフォルダの一覧を表示する.

ls -a

一覧が表示されるので,「.ssh」フォルダを探す.

「.ssh」が存在しない場合のみ下記コマンドでホームディレクトリに .ssh フォルダを作成する.

mkdir -p ~/.ssh

エラーが出なければ OK.

ssh-key の発行

.ssh フォルダ内に id_rsaid_rsa.pub が既に存在する場合は本手順をスキップすること.

💻 ターミナルの操作

  • GitHub にアクセスするには ssh-key が必要となる.

  • ssh-key は公開鍵と秘密鍵のペアになっており,「公開鍵を GitHub に登録」「秘密鍵を PC のローカルに保存」することで通信時に組み合わせがあっているかどうか判断する.

  • ターミナル(windows は GitBash)を開いて以下のコマンドを入力する.

まずは以下のコマンドで作業ディレクトリを .ssh (前項で準備したフォルダ)に変更する.

cd ~/.ssh

続いて,以下のコマンドで ssh キー(公開鍵と秘密鍵のペア)を発行する.

ssh-keygen

実行結果

Generating public/private rsa key pair.
Enter file in which to save the key (/home/vagrant/.ssh/id_rsa):

そのまま何も入力せずに Enter.

Enter passphrase (empty for no passphrase):

続き.何も入力せずに Enter.

Enter same passphrase again:

続き.パスワード入力していないので何も入力せずに Enter.

Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
6f:09:00:22:44:55:66:77:95:89:41:7d:a7:58:1b:92 vagrant@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|   .o. .         |
|     oEo+ .      |
|    . +=+=       |
|     o.+==       |
|    . . S .      |
|       - + .     |
|      .   +      |
|         .       |
|                 |
+-----------------+

これで ssh-key を発行できた.

作成した ssh キーの表示

💻 ターミナルの操作

ターミナルで下記のコマンドを入力し,ssh-key を表示させる.

cat ~/.ssh/id_rsa.pub

実行結果(先頭は ssh-rsa だが,残りは各自異なる文字列となる)

ssh-rsa ...
...
...
長い文字列
...
...

GitHub に ssh-key を登録

🌏 ブラウザの操作

GitHub のサイトにアクセスし,「設定」→「SSH keys」へ進む.「Add SSH key」をクリックして入力画面へ進む.

ターミナルに表示された文字列を「ssh-rsa」から全てコピーし,GitHub サイトの入力欄に貼り付ける.タイトルは PC 名など適当につけて OK.
入力したら「Add key」をクリックして終了.

※公開鍵は PC 毎にペアを作成するため,どの PC で発行した公開鍵なのか判別できるように名前をつけると良い.

GitHub の接続情報を登録

💻 ターミナルの操作

「GitHub のユーザ名」と「GitHub で使用しているメールアドレス」をローカル PC に登録する.Git を使用するには自分の名前とメールアドレスを Git に知らせなければならない.知らせた個人情報はコミット(保存内容)のオーサー(作者)として表示される.git config コマンドを使うと設定ファイルに個人情報を保存できる.

以下,ターミナルで下記コマンドを 1 行ずつ実行する.

!!!ユーザ名とメールアドレスは自身のアカウントのものを入力すること!!!

  • 1 行目はユーザ名を入力する.

  • 2 行目はメールアドレスを入力する.

  • 3 行目はデフォルトブランチを main に変更する.

git config --global user.name "hoge"
git config --global user.email "hoge@example.com"
git config --global init.defaultBranch main

内容確認

💻 ターミナルの操作

以下のコマンドを入力して内容を確認する.

git config -l

# 実行結果(下記以外にいくつか表示される場合もある.下記の内容が含まれていればOK)
user.name=hoge
user.email=hoge@example.com
init.defaultbranch=main

上で入力した内容に間違いなければ OK.

接続テスト

💻 ターミナルの操作

ターミナルで下記を実行.途中でなにか訊かれたら「yes」と入力して進める.

ssh -i ~/.ssh/id_rsa git@github.com

# 実行結果(`Hi` の後は自分のユーザ名が表示される)
Hi hoge! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

上記のように表示されれば SSH 設定は完了である!

以上だ( `・ω・)b

GitHubで編集を提案

Discussion