Github に ssh接続 できるようにする※キーペア(秘密鍵・公開鍵)の生成から ssh接続 まで。

Linux上でgitを使っていたりすると、git pushなどのgitコマンドを打った際に、以下のように事ある毎にUsernameとパスワードを聞かれます。

$ git push origin develop
Username for 'https://github.com':

毎回入力するのは面倒です。
そんな時に ssh接続 できるようにすれば毎回の認証を省くことができます。
そのための手順になります。

目次

キーペア(秘密鍵・公開鍵)の作成

以下の手順でキーペア(秘密鍵・公開鍵)の作成が行えます。
※生成した秘密鍵は絶対に共有しよう気を付けてください。

$ ssh-keygen -t ed25519 -a 128 -C "" -f ~/.ssh/id_eddsa_github
Generating public/private ed25519 key pair.
Created directory '/home/xxxx/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/xxxx/.ssh/id_eddsa_github
Your public key has been saved in /home/koishi/.ssh/id_eddsa_github.pub
The key fingerprint is:
SHA256:gAcTX9xxxxxxxxxsscxxxoQ0HLo/SmRqBpOiBzTijc
The key's randomart image is:
+--[ED25519 256]--+
|  .+B*+x+.       |
|  o x*=x+ .      |
| ..=.=++ o       |
| o+.x.*.o        |
|=.+x * +S        |
|*+x o o          |
|+x . .           |
|..               |
|                 |
+----[SHA256]-----+

暗号方式には、セキュリティレベルの高い「 EdDSA 」を選択しました。
※以下参照
 https://gigazine.net/news/20200828-ssh-encryption-algorithm/

「.ssh」ディレクトリはもともと存在しませんでしたが、作成してくれています。

パスワードは、なし(入力せずにEnter)にしています。

$ ls -la ~/.ssh/
total 16
drwx------ 2 xxxx xxxx 4096 Jun 14 03:45 .
drwxr-x--- 6 xxxx xxxx 4096 Jun 14 03:45 ..
-rw------- 1 xxxx xxxx  387 Jun 14 03:45 id_eddsa_github
-rw-r--r-- 1 xxxx xxxx   82 Jun 14 03:45 id_eddsa_github.pub

作成した 秘密鍵 を ssh-agent に追加

秘密鍵 を ssh-agent に追加します。
この手順を行うことで、ssh接続 する際に自動で 秘密鍵 が使われるようになります。

$ ssh-add ~/.ssh/id_eddsa_github

秘密鍵 を ssh-agent に追加できたことを確認します。

$ ssh-add -l
256 SHA256:gAcTX9xxxxxxxxxsscxxxoQ0HLo/SmRqBpOiBzTijc /home/xxxx/.ssh/id_eddsa_github (ED25519)

作成した 公開鍵 を Github へ登録

公開鍵 の中身を確認します。

$ cat ~/.ssh/id_eddsa_github.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDgPF9tFq6vRwDu9d5DAC7DogtXPoLHRsfF/KCTKSUev

Github のsettingsページ の 左側メニュー「 SSH and GPG keys 」を開きます。
「 New SSH key 」を押して、表示された入力欄に以下を入力して「 Add SSH key 」で登録します。

Githubアカウントに公開鍵登録
  • Title:どこからの接続に使うのか/目的等、自分がわかる名前。※なんでもよい。
  • Key type:「Authentication Key」を選択
  • Key:前の手順で確認した公開鍵の中身をクリップボードにコピーしてペースト

Github との SSH接続 確認

SSH接続 文字列確認

以下画像の通り、リポジトリのページでCloneの際の SSH接続 文字列を確認します。
クリップボードにコピーしておきます。

gitリポジトリのssh接続文字列

以下のような文字列です。
git@github.com:xxxx/wordpress-multi-site.git

git clone して SSH接続 の確認

以下の通りgit clone して、アカウントを入力することなく、無事にcloneできれば成功となります。

$ git clone git@github.com:xxxx/wordpress-multi-site.git
Cloning into 'wordpress-multi-site'...
The authenticity of host 'github.com (20.27.177.113)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvxxxxxJhbpZisF/zLDA0zxxxxx4UvCOqU.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
remote: Enumerating objects: 3621, done.
remote: Counting objects: 100% (3621/3621), done.
remote: Compressing objects: 100% (2752/2752), done.
remote: Total 3621 (delta 713), reused 3603 (delta 699), pack-reused 0
Receiving objects: 100% (3621/3621), 16.87 MiB | 9.28 MiB/s, done.
Resolving deltas: 100% (713/713), done.

以上、Githubに ssh接続 するための手順でした。

少しでも皆様のお役に立てれば幸いです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

文系の大学を卒業後、未経験でWebエンジニアとしての道を歩む。
プログラミングスクールで基礎を学び、Webエンジニアとして就職。
今ではプロジェクト経験15年以上のベテランエンジニアに。
 
今までの経験を活かし、プログラミング関連の情報や生活に役立つ情報を配信していきます。

コメント

コメントする

目次