WindowsのVSCodeからGitにSSH接続しようとして失敗するときの暫定対策

自分用の雑なメモ

症状

  • WindowsVScodeからGitにSSH接続しようとする(=pushやpullをしようとする)とSSH接続エラーになる
    • エラーの内容はPermission denied (publickey)
    • sshキーのパスフレーズを入力していないので当然だが、入力することができない
  • git bash からのpushやpullは問題ない

暫定対策

以下の環境変数を定義する*1

DISPLAY=needs-to-be-defined
SSH_ASKPASS=/mingw64/libexec/git-core/git-askpass

暫定対策

環境変数SSH_ASKPASSを使って、SSHキーのパスフレーズ入力にgit同梱のaskpassプログラムを指定している。これにより、パスフレーズ入力が必要になるとaskpassプログラムを起動し、その中ででパスフレーズ入力してVSCodeに渡せるようになる。

これでいいんだっけ?

  • そもそもVSCodeの中で完結することも可能だった気がする。
  • 毎回パスフレーズ入力するのも面倒
    • ただ、とりあえず暫定的にうごくようになっただけでもまし。

参考

*1:git-gui--askpassでもよい