Git と GitHub 基本操作手順(SSH設定編)
はじめに
初心者向け基本操作手順の備忘録である.
ローカルと GitHub の接続と基本的なコミットとプッシュの手順を記載する.
この手順を実行するタイミングは下記 2 つである.
-
はじめて GitHub を使用するとき.
-
新しい PC で GitHub にアクセスするとき.
ローカル PC と GitHub の通信には「SSH 通信」を使用する.
SSH 通信の流れ
-
「公開鍵」「秘密鍵」の 2 種類の鍵ファイルを作成する.この 2 つはペアになっている.
-
「公開鍵」の内容を GitHub 上に登録する.「秘密鍵」のファイルはローカル PC に保存する.
-
ローカル PC に通信用の設定を記述する.
-
両者で通信を行う際,「公開鍵」と「秘密鍵」の組み合わせが合っている場合のみ通信が成功する.
本項では,この SSH 通信を行うための設定を行う.
作業ディレクトリの確認
💻 ターミナルの操作
ターミナルを起動するとホームディレクトリにいるはずだが一応下記を実行.
cd ~
フォルダの準備
💻 ターミナルの操作
-
ssh-key は適切な場所に配置しないと動かない.
-
以下の手順でフォルダを準備する.
下記コマンドでファイルとフォルダの一覧を表示する.
ls -a
一覧が表示されるので,「.ssh
」フォルダを探す.
「.ssh」
が存在しない場合のみ下記コマンドでホームディレクトリに .ssh
フォルダを作成する.
mkdir -p ~/.ssh
エラーが出なければ OK.
ssh-key の発行
.ssh
フォルダ内に id_rsa
と id_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
Discussion