この記事では、WSL(Ubuntu)からGitHubへSSH認証でpushできる状態にするまでの手順をまとめます。
SSH鍵の作成 → GitHubへ登録 → 接続テスト → git init → 初回pushまで、コピペで進められます。
- WSL2(Ubuntu想定)
- Windows 上のWSLで作業している
- GitHubのユーザー登録は完了済み
GitHubのアカウントの作成方法は以下の記事で紹介しています。
-

【GitHub】アカウントの作成方法
GitHubは、ソフトウェア開発者にとって欠かせないプラットフォームです。 オープンソースプロジェクトの管理や、チームでの共同開発を行えるオンラインプラットフォームです。 本記事では、GitHubのア ...
- WSL上でSSH鍵を作成
- GitHubに公開鍵を登録
ssh -T git@github.comで疎通確認git initしたプロジェクトを GitHub にpushできる状態にする
事前準備(Git・ユーザー情報設定)
Gitがインストールされているか確認
- スタートメニューから「Ubuntu」を起動
検索窓に「Ubuntu」と入力 →「Ubuntu」をクリック

- Gitのバージョンを確認する
gitが使えるか確認します。Copyをクリックするとコピーできます。
UbuntuCopygit --version例:
git version 2.xx.xのように表示されればOKです。 - (Gitが入っていない場合)Gitをインストールする
上のコマンドで
git: command not foundと出た場合は、以下でGitをインストールします。Copyをクリックするとコピーできます。
UbuntuCopysudo apt updatesudo apt install -y gitsudoを実行すると、パスワード入力を求められる場合があります。- このパスワードは Ubuntu(WSL)のユーザー作成時に設定したパスワード です(GitHubのパスワードではありません)。
- 入力中は画面に 文字が表示されません(●も出ない)ので、そのまま入力して Enter を押してください。
- パスワードを忘れた場合は、WSLのユーザー設定(パスワード)を確認しましょう。
- インストール後にもう一度確認する
インストールできたら、再度バージョンを確認します。
Copyをクリックするとコピーできます。
UbuntuCopygit --version
Gitのユーザー名/メールを設定
- ホームディレクトリへ移動
Copyをクリックするとコピーできます。
UbuntuCopycd ~ - ユーザー名の登録
Copyをクリックするとコピーできます。
UbuntuCopygit config --global user.name 'あなたの表示名' - メールアドレスの登録
Copyをクリックするとコピーできます。
UbuntuCopygit config --global user.email 'あなたのメールアドレス'
Gitのユーザー名/メールアドレスの登録確認
- 以下コマンドを入力し、設定できたか確認する
Copyをクリックするとコピーできます。
UbuntuCopygit config --global --get user.namegit config --global --get user.email
SSH認証の設定(鍵作成〜疎通確認)
SSH鍵を作成
- SSH鍵を作成する
Copyをクリックするとコピーできます。
UbuntuCopyssh-keygen -t ed25519 -C 'あなたのメールアドレス' - 保存先(Enter file in which to save the key (/home/〇〇〇/.ssh/id_ed25519):)が表示されるので「Enter」キーを押下
- パスフレーズの設定(Enter passphrase (empty for no passphrase):)が表示されるので「Enter」キーを押下
※パスフレーズは設定してもOK/不要なら Enter で空でもOK(運用方針次第)
- 再度パスフレーズの入力を求められる(Enter same passphrase again:)ので、「Enter」キーを押下
ssh-agentを起動して鍵を登録
- ssh-agentを起動
Copyをクリックするとコピーできます。
UbuntuCopyeval "$(ssh-agent -s)" - 鍵を登録
Copyをクリックするとコピーできます。
UbuntuCopyssh-add ~/.ssh/id_ed25519
登録確認
- 登録できたか確認
Copyをクリックするとコピーできます。
UbuntuCopyssh-add -lid_ed25519が一覧に出ればOKです。- 注意:
ssh-agentはターミナルを閉じたりWSLを再起動すると、登録した鍵が消えることがあります。 - その場合は
ssh-add -lで確認し、一覧に無ければeval "$(ssh-agent -s)"→ssh-add ~/.ssh/id_ed25519をやり直してください。
- 注意:
GitHubに公開鍵を登録
- 公開鍵をコピー
以下コマンドを入力し、公開鍵をコピーします。
Copyをクリックするとコピーできます。
UbuntuCopycat ~/.ssh/id_ed25519.pub
- GitHubにログインし、右上のプロフィールアイコン(ユーザーメニュー)をクリック

- 「Settings」をクリック

- 「SSH and GPG keys」をクリック

- 「New SSH key」をクリック

- 「Title」と「Key」を入力し、「Add SSH key」をクリック
※「Title」は任意のタイトルを入力してください。
※「Key」には先程コピーした公開鍵を貼り付けます。

GitHubへの接続テスト
- 以下コマンドを入力し、GitHubへの接続をテストします。
Copyをクリックするとコピーできます。
UbuntuCopyssh -T git@github.com - 初回のみ、「yes」と入力し、「Enter」を押下

- 以下のように表示されればSSH認証はOKです。

リモートリポジトリのURLを設定
GitHubで新規リポジトリを作成
- GitHubにログインし、「ハンバーガーメニュー」をクリック

- 「Repositories」をクリック

- 「New repository」をクリック

- 「Repository name」を入力し、「Choose visibility」で「Private」を選択し、「Create repository」をクリック
※「Repository name」は任意の名前を入力してください。(例:my-project)
※「Choose visibility」で「Private」を選択すると非公開になります。(公開する場合は「Public」を選択)
- ローカルを先に作成した場合は、GitHub側は README / .gitignore / License を付けずに空で作成 するのが安全です。
- READMEを付けて作ると、初回push時に「fetch first」などで弾かれることがあります。

- リモートリポジトリのURLをコピー
リモートリポジトリのURLをコピーします。(後ほど、リポジトリのURLを設定するために使用します。)

remote(origin)をSSH形式で追加
- プロジェクトのルートディレクトリに移動
Copyをクリックするとコピーできます。
UbuntuCopycd ~/projects/my-project - リポジトリの初期化
Copyをクリックするとコピーできます。
UbuntuCopygit init - リモートリポジトリのURLを設定
先程コピーしたリモートリポジトリのURLを設定します。
Copyをクリックするとコピーできます。
UbuntuCopygit remote add origin 先程コピーしたリモートリポジトリのURL - リモートリポジトリのURLを確認
リモートリポジトリのURLを確認します。
Copyをクリックするとコピーできます。
UbuntuCopygit remote -v - 以下のように表示されればSSH形式で追加できています

初回コミットとpush
初回コミットを作成
- プロジェクトのルートディレクトリへ移動
※まだ移動していない場合のみ実行してください。
Copyをクリックするとコピーできます。
UbuntuCopycd ~/projects/my-project - 変更をステージングする
まずはGitに追加したいファイルをステージングします。
Copyをクリックするとコピーできます。
UbuntuCopygit add . - 初回コミットを作成する
コミットメッセージは任意ですが、最初は「Initial commit」がよく使われます。
Copyをクリックするとコピーできます。
UbuntuCopygit commit -m 'Initial commit'
ブランチ名を確認
- 現在のブランチ名を確認する
環境によって
masterまたはmainになっています。Copyをクリックするとコピーできます。
UbuntuCopygit branch
GitHubへpushする
- ブランチが master の場合
Copyをクリックするとコピーできます。
UbuntuCopygit push -u origin master - ブランチが main の場合
Copyをクリックするとコピーできます。
UbuntuCopygit push -u origin main - (任意)master を main に変更したい場合
ブランチ名を
mainに統一したい場合は、以下を実行します。Copyをクリックするとコピーできます。
UbuntuCopygit branch -m maingit push -u origin main
push が完了したら、GitHubのリポジトリページを更新してファイルが反映されているか確認してください。
よくあるエラーと対処法
Permission denied (publickey)
SSH鍵がうまく使えていないときに出ます。原因として多いのは以下です。
- 公開鍵をGitHubに登録していない
- ssh-agentに鍵を追加できていない
- 複数鍵があり、想定していない鍵を出している
- SSH鍵のパーミッションが間違っている
対処法としては以下のようになります。
- 公開鍵をGitHubに登録する
- ssh-agentに鍵を追加する
- 複数鍵があり、想定していない鍵を出している場合は、ssh-agentに追加した鍵を削除する
- SSH鍵のパーミッションが間違っている場合は、SSH鍵のパーミッションを修正する
以下コマンドを入力し、SSH鍵がうまく使えているかを確認します。
ログ内でOffering public key: ...id_ed25519のように、想定の鍵を提示しているか確認してください。
Copyをクリックするとコピーできます。
ssh -vT git@github.comremote origin already exists
originがすでにある場合は、削除して作り直します。
Copyをクリックするとコピーできます。
git remote remove origingit remote add origin git@github.com:<ユーザー名>/<リポジトリ名>.gitまとめ
WSLからGitHubへpushするなら、SSH鍵方式がいちばん安定です。
一度設定してしまえば、以降はパスワード入力なしでpushできるようになります。
- Gitの作者情報(user.name / user.email)をホームディレクトリでグローバル設定
- SSH鍵を作って GitHub に登録
ssh -T git@github.comで接続テストgit remote add origin git@github.com:...でSSH remote設定git add / git commitで初回コミットgit push -u origin main/masterで初回push
















