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

コメントはありません

コメントする

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Monthly Archives