VSCode GitHub連携

SSH利用にてVSCodeのGUIからsync(push,pull)する

WindowsでVSCodeとGit、GitHubを利用していると、事前にGitBashからキーをssh-addしていても、VSCodeのGUIからpushやpullできない。

初期設定ではVSCodeから利用するsshがGit内蔵のsshとなっているようで、これをWindows上のOpenSSHに変更する必要がある。

WindowsのOpenSSHにてキーをadd

まず、WindowsのOpenSSHを起動し、キーをssh-addしておく。

CMD(管理者権限)

rem windows起動時に自動で起動する設定とする
Sc config ssh-agent start=auto

rem キーファイルをadd
ssh-add キーファイルのパス

rem キーファイルにpassphraseを設定している場合はここで聞かれるため入力

※remはcmdにおけるコメント記述

VSCodeにてWindowsのOpenSSHを使用する設定

次に、VSCodeで使用するsshをWindowsのOpenSSHに変更するためにgitの設定ファイルを編集する。

$HOME/.gitconfigに次の設定を追記する。

[core]
 sshCommand = \"C:\\Windows\\System32\\OpenSSH\\ssh.exe\"

※\記号によるエスケープに注意。解釈後に「”ssh.exeのパス“」の形となるように適切に記載する。

VSCodeを起動

以上を実施したうえでVSCodeを起動すると、passphraseを聞かれたりgithubのパーミッションがありませんエラーが出るたりすることなく、GUIからsync(push,pull)できるようになった。

なお、Gitの操作にGitBushによるコマンドを併用している場合は、GitBush側の設定も、WindowsのOpenSSHを参照するように変更する必要があると思われる。

もっと簡単な方法

もともと、Git for Windows インストール時に何も考えずにデフォルトのままインストールしたからこのようなことになった。

Git for Windows をインストールするときに、Windows内蔵のOpenSSHや資格情報を使う選択肢があり、インストール時に注意して選ぶようにすると、VSCodeからすんなりとsyncできた。

Git for Windows を再インストールするものおすすめ。

プロフィール

興味のあること、つまづいたこと、考えたことなどを書いています。

カテゴリー

コメント

タイトルとURLをコピーしました