GitHubにSSH接続するための鍵作り

記事ヘッダー_SSH用の鍵作り IT

今回は鍵作り。GitHubにSSH接続するためのSSHキーを作成したのでその覚書。

- PR -

前提

Git Bashが必要。
Git BashはGitをインストールすると利用できる。Gitのインストール方法はこの記事で書いてます。

SSHキーの作成

Git Bashでコマンドを実行し、SSHキーを作成する。

ssh-keygen コマンドを実行

コマンドはこれ。実行すると以下のようなキーに関する設定を聞かれる。

Bash
ssh-keygen -t ed25519 -C "Mail" # Mailは自分のメールアドレス
Expand

SSHキーのファイル名

これから作成するSSHキーのファイル名を決める。
デフォルトでは c:\Users\username\.ssh/id_eb25519 という名前だが、変更するのであれば名前を入力しEnter

Bash
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/username/.ssh/id_ed25519):
Expand

パスフレーズの登録

SSHキー用のパスフレーズ(後で使う)を決める。
任意のパスフレーズを入力しEnter。確認を含め2回入力する。

Bash
Enter passphrase (empty for no passphrase): # 1回目
Enter same passphrase again:                # 2回目
Expand

VSCode上でSSHキーを利用する場合の注意

SSHキーにパスフレーズが設定されていると Permission denied (publickey) なーんてエラーが出る場合があります。
多分 VSCode が SSHキー に触ろうとした際、パスフレーズを要求されるが VSCode 自身ではその要求に応えられずエラーになってる感じ…なのかな?(よくわからん)

ひとまず、SSHキー作成でパスフレーズは設定せず作れば上手いこと動いてくれました。

また、ssh-agent あたりをごにょごにょすればパスフレーズの入力を省略出来るはずだから、上記エラーが解消されるかな~とは思うんですが…、詳しく調べられてないのでそのうちアップデートするかもしれません(多分しない)

作成されたSSHキーのファイルパス

無事SSHキーが作成されると、SSHキーのファイルパスが表示される。

Bash
Your identification has been saved in /c/Users/username/.ssh/id_ed25519
Your public key has been saved in /c/Users/username/.ssh/id_ed25519.pub
Expand

作成されたキーの確認

作成されたキーを確認してみる。

Bash
$ ls -l ~/.ssh/id*
-rw-r--r-- 1 username 197609 464 Oct  2 23:48 /c/Users/username/.ssh/id_ed25519
-rw-r--r-- 1 username 197609 103 Oct  2 23:48 /c/Users/username/.ssh/id_ed25519.pub
Expand

SSHキーをGitHubに登録

GitHubのサイトを開き、先程作成したキーを登録する。

GitHubのサイトを開く

GitHubにログインする。

GitHub · Build and ship software on a single, collaborative platform
Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the la...

SSHキーを登録する

先程作成したSSHキーをログインしたアカウントに登録する。

設定(Settings)を開く

右上のメニューからSettingsのページを開く。

Settings のページを開く
Settings のページを開く

SSHキーの登録ページを開く

左側のメニューから「SSH and GPG keys」のページを開き、「New SSH key」を押す。

SSHキーの登録
SSHキーの登録

登録ページが開く。

SSHキーの登録ページ
SSHキーの登録ページ

SSHキーをクリップボードにコピー

一度GitHubから離れ、Git Bashを起動する。
このあとSSHキーの情報を入力するために、次のコマンドを実行しSSHキーファイル(/c/Users/username/.ssh/id_ed25519.pub)の中身をクリップボードにコピーしておく。

Bash
clip < ~/.ssh/id_ed25519.pub
Expand

SSHキー情報を入力し登録する

GitHubに戻りキーのタイトル(何でも良い)を入力し、クリップボードにコピーしたキー情報を貼り付ける。
キー情報を入力したら「Add SSH key」を押し登録する。

SSHキーの入力
SSHキーの入力

登録されたSSHキーの確認

SSHキーが登録されると、こんな感じで表示されるようになる。

登録されたSSHキー
登録されたSSHキー

SSH接続のテスト

設定したSSHキーが正しく使えるか、SSH接続を試してテストする。

テスト用コマンドの実行

SSH接続はをテストするためのコマンドはこれ。
Git Bashから実行すればテストできる。

Bash
ssh -T git@github.com
Expand

フィンガープリントの確認

初回接続ではフィンガープリントの確認が求められる。
表示されたフィンガープリント(SHA256:から後の文字列)が GitHubの公開鍵のフィンガープリント と一致すれば正しい。”yes” と入力して次に進む。(初回の確認が済むとGitHubのサーバはリストアップされ2回目以降は聞かれなくなる)

Bash
The authenticity of host 'github.com (52.192.72.89)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Expand

SSHキーのパスフレーズの確認

SSHキーに設定したパスフレーズを聞かれるので入力する。

Bash
Enter passphrase for key '/c/Users/username/.ssh/id_ed25519':
Expand

テスト完了

こんなんが出れば接続テストは成功。

Bash
Hi Usshii! You've successfully authenticated, but GitHub does not provide shell access.
Expand

さいごに

ふ~、これでSSHを使えるようになりました。
そもそもこれをやり始めた理由は Private なリポジトリが見えなかったから、、、なんですよね。_(:3」∠)_

というわけで目的達成したのでこれはおしまい。

コメント

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