WEB/システム/IT技術ブログ

Visual Studio Code(Windows版)でGitHubにSSH接続する

Windows版のVSC(Visual Studio Code)でGitHubにSSH接続する方法です。

環境はWindows 10、Gitがインストール済みの状態です。
任意のリモートリポジトリをローカルにクローン済みで、それをVSCで開いてる状態から解説します。

VSCでソースを編集して、コミットした後、リモートと同期しようとすると、以下のエラーメッセージが表示されます。

Git: git@github.com: Permision denied (publickey).

さらに、Git Bashを起動して、以下のコマンドで接続テストをすると、同じエラーメッセージが表示されます。

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

SSH接続の準備

Windows版のVSCでは、Windows標準のOpenSSHを使用して接続しているようです。
そこでまずは、PowerShellを起動して、以下のコマンドでSSH鍵を生成します。

> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\username/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\username/.ssh/id_rsa.
Your public key has been saved in C:\Users\username/.ssh/id_rsa.pub.
The key fingerprint is:
...


ここで、passphraseは入力しません。
セットしてしまうと、冒頭でのVSCのエラー「Permision denied (publickey).」は解消されません。私はここでだいぶハマってしまいました。。

生成した公開鍵は、GitHubにログインし、設定画面から登録します。
秘密鍵は、任意のフォルダに保存します。

ファイル「C:\Users\username\.ssh\config」を開き、以下の設定を追記します。「IdentityFile」で保存した秘密鍵を指定します。

Host github.com
	HostName github.com
	IdentityFile C:\xxx\yyy\zzz\id_rsa
	User git

それではもう一度、Git Bashで接続テストを実行します。

$ ssh -T git@github.com
Hi username! You've successfully authenticated, but GitHub does not provide shell access.

接続に成功しました。

再び、VSCでリモート同期を実行すると、push、pullが正常に実行できました。

B!

Comment

コメントはありません

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Monthly Archives