Windows10のVSCにおけるGitHubへのSSH接続について

Sponsored Link
ロリポップ!レンタルサーバー

はじめに

タイトルの通り、Windows10のVSC(Visual Studio Code)でGitHubにSSHで接続するためのメモです。

HTTPSで接続していれば、こんなに悩むことは無かったのだろうと思います。

Git bashを使えば良かったと思いますが、めんどくさいなと思ってしまったのです。

Macもあるので、そっちで開発しておけばこんなことにならなかったのでしょう。

Windowsでも標準機能で接続したいと思ってしまったのが運の尽きでした。

さらにろくに画面も記録していないのでキーワード程度しか書けないのですが、何かヒントになればと思い書き残します。

環境は以下の通り。

  • Windows 10 Pro バージョン1903
  • Visual Studio Code バージョン1.45.1
  • Git version 2.26.2.windows.1
Sponsored Link

顛末その1~コマンドラインでのssh接続

まずは、コマンドラインでgitを試していました。それで参考にさせていただいたのは、

VSCodeからGitのリモートにアクセスできないときの対処方法(Windows 10) - Qiitaはじめに自分は普段のコーディングにはVSCodeを使用することが多いですが,VSCodeはGit関連の機能も標準で充実しています.ただWindowsで使っているときにGitのリモートリポジトリにアクセスする操作,例えばgit ...
VSCodeからGitのリモートにアクセスできないときの対処方法(Windows 10) - Qiita qiita.com
VSCodeからGitのリモートにアクセスできないときの対処方法(Windows 10) - Qiita

ポイントは以下の3点。

  • gitのsshコマンドをWindows標準のssh.exeに変更する。
     git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
  • sshエージェントサービスを起動する。(これは手動でサービスを起動)
  • ssh-addで秘密鍵を追加する。

WindowsのOpenSSHクライアントは、アプリのオプション機能で有効にしていたので、この辺はすんなりと設定して、コマンドラインでのGit動作は問題ありませんでした。

 

顛末その2~VSCでGitHubに接続できるまで

しかし、いざVSCでgitを使ってpullしようとしたら、

warning: agent returned different signature type ssh-rsa (expected rsa-sha2-512)

と表示されてしまい、pullできません。

で、Google先生に尋ねたところ、最終的にこちらのページに行き着きました。

krymtkts: Windows10の更新でOpenSSHが逝ったkrymtkts's personal blog
krymtkts: Windows10の更新でOpenSSHが逝った krymtkts.github.io
krymtkts: Windows10の更新でOpenSSHが逝った

こちらのポイント

  • 標準のOpenSSHは削除
    • 自分の場合、オプション機能からアンインストールしてサービスも削除しました。
  • 新しいOpenSSHをインストール
    • chocolateryでインストール。バージョンは7.9.0.1をインストール。
      最新(8.0.0.1)では動作しませんでした。
  • gitのsshコマンドをインストールしたssh.exeに変更する。
     git config --global core.sshCommand "C:\Program Files\OpenSSH-Win64\ssh.exe"
  •  新しいssh-agentでサービスを作成
    • インストールすると作られるようだけど、なぜか作られなかったのでsc.exeで手動で作成。
  • ssh-add -l で鍵の登録状況確認、なければ追加。

ようやくVSCでpullできました。

参考:SSH関連コマンドの状況

> Get-Command ssh*.exe

CommandType     Name                   Version    Source
-----------     ----                   -------    ------
Application     ssh.exe                7.9.0.0    C:\Program Files\OpenSSH-Win64\ssh.exe
Application     ssh-add.exe            7.9.0.0    C:\Program Files\OpenSSH-Win64\ssh-add.exe
Application     ssh-agent.exe          7.9.0.0    C:\Program Files\OpenSSH-Win64\ssh-agent.exe       
Application     sshd.exe               7.9.0.0    C:\Program Files\OpenSSH-Win64\sshd.exe
Application     ssh-keygen.exe         7.9.0.0    C:\Program Files\OpenSSH-Win64\ssh-keygen.exe      
Application     ssh-keyscan.exe        7.9.0.0    C:\Program Files\OpenSSH-Win64\ssh-keyscan.exe     
Application     ssh-shellhost.exe      7.9.0.0    C:\Program Files\OpenSSH-Win64\ssh-shellhost.exe

以上です。

Sponsored Link