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が正常に実行できました。
コメントする