GitHubにSSH接続する方法!(キーの作成からpushまで解説)

git Git

GitHubにSSH接続して、pushできるようにするための接続方法について書いています。
Macを使用して、ssh-keygenコマンドでキーを作成した後にGitHubに登録してみました。

3ステップでGitHub登録の確認まで完了します。
1. ssh-keygenコマンドを使用して、キーを作成する
2. GitHubを開いて、設定画面から作成したキーを登録する
3. リポジトリをSSH接続文字列からクローンして、プッシュして確認する

今回はMacを使用して検証していますが、Windowsでも同様にしてSSHの接続設定を行うことが可能です。

GitHubのSSH設定をする

GitHubのリポジトリにSSH接続を設定して、pushできるように設定していきます。

最初にssh-keygenコマンドを使用して、キーを作成します。
キーを作成した後に、作成したキーをGitHubにブラウザからアクセスして設定します。

使用するキーを作成する

ssh-keygenコマンドを使用して、キーを作成します。

$ ssh-keygen -t rsa

実行すると、下記のようになります。

$ ssh-keygen -t rsa 
Enter file in which to save the key (/Users/userName/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/userName/.ssh/id_rsa.
Your public key has been saved in /Users/userName/.ssh/id_rsa.pub.
# --- 省略 ---

「Enter file in which to save the key」は保存されるファイルパスを聞かれています。
そのままEnterキーを押すと、表示されている/Users/userName/.sshディレクトリ配下にid_rsaファイルが作成されます。
今回はそのままEnterを押して、ファイルを作成してみました。

「Enter passphrase」ではパスワードを聞かれます。今回は入力せずにEnterを押します。
「Enter same passphrase again」では入力したパスワードの確認で聞かれます。こちらも今回は入力せずにEnterを押してください。

そうすると、下記のような表示になって/Users/userName/.ssh/配下にid_rsaid_rsa.pubというファイルが作成されます。

% ssh-keygen -t rsa
Generating public/private rsa key pair.
#-----省略-----
The key fingerprint is:
SHA256:pybcZW6xJ3tUobh5XdAkU123Jkawfojoj XXXXX.local
The key's randomart image is:
+---[RSA 3072]----+
|            ..o+o|
|           . .o+=|
| #-----省略-----# |
|       o . +. + .|
|          .. ooo |
+----[SHA256]-----+

次は作成したキーの内容をGitHubに登録します。

作成した公開鍵をGitHubに設定する

最初に作成されたid_rsa.pubのファイルの中身をコピーします。
下記のコマンドでファイルの中身が表示されるので、コピーしておきます。

$ cat /Users/userName/.ssh/id_rsa.pub

GitHubにアクセスして、右上のアイコンから「Settings」をクリックします。
SSH接続するためにGitHubのSettingsをクリック

「Settings」を選んだ後に「SSH and GPG keys」を選択します。
その後に「New SSH Key」をクリックします。
SSH接続するために「New SSH key」からキー登録画面を表示

Titleにわかりやすい適当なキー名を入力して、Keyにコピーしておいたid_rsa.pubファイルの内容を入力しておきます。
入力した後に、「Add SSH Key」をクリックして登録します。
SSH接続のためにキー登録画面にキーを貼り付ける

そうすると、下記のように登録されます。
GitHubにSSH接続のキー登録完了

これで、接続する準備完了です。

リポジトリにSSH接続してみる

使用するリポジトリを開いて、下記のように「Code」をクリックしてからアイコンを選択し、接続するための文字列をコピーします。
GitHubリポジトリのSSH接続文字列をコピー

ターミナルを開いて、下記のようにgit cloneコマンドを使用して、リポジトリからソースコードをクローンします。

$ git clone git@github.com:yasuaki0206/test-repository.git

実行すると、下記のようにコードがダウンロードできたことが確認できました。

$ git clone git@github.com:yasuaki0206/test-repository.git
remote: Enumerating objects: 17, done.
remote: Counting objects: 100% (17/17), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 17 (delta 4), reused 11 (delta 1), pack-reused 0
Receiving objects: 100% (17/17), done.
Resolving deltas: 100% (4/4), done.

適当なコミットを作成した後に、git pushしてみます。
ファイルを適当に作成して、下記のようにコミットしました。

$ git commit -m "add new file"
[main 8b08b59] add new file
 1 file changed, 1 insertion(+)
 create mode 100644 test2.js

その後にmainブランチに向けてプッシュしてみました。
SSH接続設定が終わっているので、下記のようにプッシュが完了しました!

$ git push origin main
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 12 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 293 bytes | 293.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To github.com:yasuaki0206/test-repository.git
   aac7a53..8b08b59  main -> main

コメント

タイトルとURLをコピーしました