Help us understand the problem. What is going on with this article?

VSCodeからGitのリモートにアクセスできないときの対処方法(Windows 10)

More than 1 year has passed since last update.

はじめに

自分は普段のコーディングにはVSCodeを使用することが多いですが,VSCodeはGit関連の機能も標準で充実しています.ただWindowsで使っているときにGitのリモートリポジトリにアクセスする操作,例えばgit pullgit pushを行うとPermission denied (publickey).とエラーが出てしまっていたので,対処方法を調べたときのメモです.(sshキーのパスフレーズが入力できない.)
image.png

環境

今回,自分が試した環境は次の通りです.

  • Windows 10 Pro
  • VSCode 1.29.1
  • git version 2.19.2.windows.1

前提

ターミナルでgit pullなどすると正常に操作できている状態です.

> git pull origin master
Enter passphrase for key '/c/Users/username/.ssh/id_rsa':
From github.com:username/repository
 * branch            master     -> FETCH_HEAD
Already up to date.

対処方法

VSCodeでGitのリモートへアクセスするための手順です.

OpenSSHの指定

GitのOpenSSHを,Gitに同梱されているものでなくWindowsに付属されているOpenSSHを使用するように指定します.

> git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"

.gitconfigに次のように設定されます.

.gitconfig
[core]
    sshCommand = C:/Windows/System32/OpenSSH/ssh.exe

ssh-agentサービスの起動

OpenSSH Authentication Agentを自動起動するように設定します.PCを再起動するか手動でこのサービスを開始します.
このssh-agentもGitに同梱されているものでなく,Windows標準のものになります.
image.png

キーの登録

sshの秘密鍵をssh-agentに登録します.
このssh-addも同じくWindows標準のものを使用するようにしてください.

> ssh-add
Enter passphrase for C:\Users\username/.ssh/id_rsa:
Identity added: C:\Users\username/.ssh/id_rsa (C:\Users\username/.ssh/id_rsa)

ここまでの対応で,パスフレーズを毎回入力する必要がなく,VSCodeからもgit pullgit pushが使えるようになります.
image.png

おわりに

参考にしたのはこのissueです.
https://github.com/Microsoft/vscode/issues/13680

ちなみにssh-keygenするときにパスフレーズを設定しなければ,何もしなくてもVSCodeであつかえます.

y-tsutsu
itage
ITAGEは「IT」のAGENCYになることを夢、目標として進化、変化していきます。「It’s It Agency」
http://www.itage.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした