👩💻
WSL2のインストールからGitHubへのSSH接続まで
はじめに
この記事は、WindowsへWSL2(Ubuntu)をインストールし、GitHubへのSSH接続ができるようになるまでの手順を個人的な備忘録としてまとめたものです。
WSLやUbuntu、Gitその他のアップデートおよび仕様変更によって将来的にこの手順が使用できなくなる可能性があります。(記.2023/1/3)
前提条件
- OSがWindows10または11である
- GitHubのアカウントが作成済みである
WSL2のインストール
- Windows PowerShellを管理者権限で起動(右クリック→管理者として実行)
- 以下のコマンドを実行し、WSL2をインストール(かなり時間がかかります)
wsl --install
- 以下のコマンドを実行し、WSL2を最新版にアップデート(任意)
wsl --update
- インストールが正常に終了した旨の表示が確認できれば、PCを再起動
以上でWSL2およびUbuntuのインストールは終了です。WSLのinstallコマンドは特に指定がなければLinuxディストリビューションとしてUbuntuをインストールします。以降はUbuntu上で操作を行います。
要するにUbuntuという名前のLinux系OSとそれをWindowsの中で動かすための外箱としてWSL2をインストールしたよ、というレベルの認識で大丈夫です。
Ubuntuの初期設定
- 「最近追加されたアプリ」などからUbuntuを探し、起動(PC再起動後に自動で起動する場合もあります)
-
Enter new UNIX username:
と表示されたら、Ubuntuで使用するユーザー名を入力(初回起動時はメッセージが表示されるまでしばらくかかります) -
New password:
と表示されるので、パスワードを入力 -
Retype new password:
と表示されるので、パスワードを再度入力
環境によってはUbuntuの再起動が必要な場合がありますが、username@COMPUTER:~$
のような表示が確認できればUbuntuの初期設定は終了です。
パスワードの入力の際は入力している文字が表示されませんが、きちんと入力されています。タイプミスには気をつけましょう。また、ここで入力したパスワードを忘れてしまうとUbuntuの中に入れなくなるため、絶対に忘れないようにしてください。
GitHubとのSSH接続
- Ubuntuを起動し、以下のコマンドを実行
ssh-keygen -t ed25519
- 以下のように色々聞かれますが、全て何も入力せずにEnterだけ押していれば問題ありません(任意でキーの保存場所やキーへのアクセスに必要なパスワードを設定できます)
Enter file in which to save the key (/home/username/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
- 以下のような表示を確認できればOK
The key's randomart image is:
+--[ED25519 256]--+
|++++oB+ o. |
|*++**.oo |
|*++o.o. |
|+o. E . |
|o+ o... S . |
|. =. * o = |
| . oo + o o |
|. . . . |
|o. |
+----[SHA256]-----+
- SSHキーのあるディレクトリへ移動(2で特に設定していなければ以下のコマンドで移動できます)
cd .ssh
- 以下のコマンドで生成した公開鍵を確認し、コピーしておく
cat id_ed25519.pub
公開鍵の例: ssh-ed25519 AAAAC...(長い文字列)...bj49u username@COMPUTER
-
GitHubのSSH設定ページを開き、
New SSH Key
ボタンを押す - Keyに先ほどコピーした公開鍵を貼り付け、
Add SSH Key
ボタンで登録(Titleは入力しなくても良いが、LAPTOP Ubuntu
などどのPCのどのターミナルのものか自分で分かるようにしておくのが望ましい) - 以下のコマンドを実行し、SSH接続できているか確認
ssh -T git@github.com
Hi <ユーザー名>! You've successfully authenticated, but GitHub does not provide shell access.
と表示されれば接続できています。
以上でSSH接続の設定は終了です。お疲れ様でした。
Discussion