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 」で登録します。
- Title:どこからの接続に使うのか/目的等、自分がわかる名前。※なんでもよい。
- Key type:「Authentication Key」を選択
- Key:前の手順で確認した公開鍵の中身をクリップボードにコピーしてペースト
Github との SSH接続 確認
SSH接続 文字列確認
以下画像の通り、リポジトリのページでCloneの際の 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接続 するための手順でした。
少しでも皆様のお役に立てれば幸いです。
コメント