Fractal Prologue 徒然なるままに...データと遊ぶ

VSCode と git を連携して push できるようにするまで

はじめに

今まで仕事では,開発環境として IntelliJ を使っていたのですが,最近は VSCode の人気が高く Extensions も便利なものが多くあるということで,個人的な作業をする時は VSCode を使ってみようと思って使っています. そんな中で,タイトルにもあるように VSCode から git push しようとしたら,<アカウント名>@github.com: Permission denied (publickey). とエラーが出たので,それを解消して VSCode で git push できるようにした備忘録になります.

エラー原因(SSH 接続エラー)

Permission denied (publickey)」とあり,GitHub に SSH 接続するために,公開鍵を登録しておかないといけないのですが,それをしていなかったので,エラーが発生したということになります.

以下のコマンドを打つことで接続を確認することができます.

ssh -T git@github.com
> git@github.com: Permission denied (publickey).

ではどうすればいいかというと,鍵を生成して GitHub に登録すればいいということになります.

公開鍵と秘密鍵の作成

詳細な作成方法はこちらの記事が参考になります.

簡単に手順を載せておきます.

cd ~/.ssh
ssh-keygen -t rsa -b 4096 -C "<メールアドレス>" -f github_rsa  # オプションをいくつか設定して,鍵を生成

# 以下実行結果(一部マスクしてます)
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in github_rsa.
Your public key has been saved in github_rsa.pub.
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx <メールアドレス>
The key's randomart image is:
+---[RSA 4096]----+
|===              |
|.B      o     .  |
|o..  . *     . o |
|. . . B +. oo .o*|
| . o * OSo.oooo*+|
|  . = + = o ..*..|
|   E . . o . . ..|
|        . .      |
|                 |
+----[SHA256]-----+

鍵の種類を RSA にし,鍵の長さを4096にしています.ファイル名は github_rsa と設定しました.

GitHub に生成した公開鍵を登録

cd ~/.ssh
ssh-add -K github_rsa  # 秘密鍵をssh-agentデーモンに登録
pbcopy < github_rsa.pub  # pbcopyコマンドで公開鍵の中身をクリップボードにコピー

この後は,コピーした公開鍵の中身を GitHub に登録します.

GitHub のアカウントから Settings に進み,SSH and GPG keys を選択し,New SSH key を押して,先程コピーした中身をペーストし,名前を決めて保存します.

SSH 接続確認

保存が完了したら,SSH 接続できるか確認するために,以下のコマンドを打って確認します.

ssh -T git@github.com
>Hi <ユーザー名>! You've successfully authenticated, but GitHub does not provide shell access.

Remote 設定の上書き

ここまで来たら後一息で,最後に remote の設定を上書きします. 以下のような感じでリポジトリ名を書いて,実行すればOK.

git remote set-url origin git@github.com:<ユーザー名>/<リポジトリ名>.git

VSCode からgit push

VSCodeからpush

今までの設定が完了していれば,上記画像の手順で VSCode の画面から簡単に git に commit や push などの操作を行うことができます.

おわりに

まだまだ VSCode 初心者なので,使いやすい Extensions を取り入れて開発環境をカスタマイズしていきたいと思います!

参考


この記事と関連する記事を読んでみる

このエントリーをはてなブックマークに追加

Support

ブログ記事を読んで頂き,ありがとうございます!もしこの記事が良かったり参考になったら,下記ボタンから☕一杯をサポートして頂けるとモチベーションが上がります!どうぞよろしくお願いします🤩