Windows10のVSCにおけるGitHubへのSSH接続について
はじめに
タイトルの通り、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 ...
qiita.com


ポイントは以下の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.github.io


こちらのポイント
- 標準のOpenSSHは削除
- 自分の場合、オプション機能からアンインストールしてサービスも削除しました。
- 新しいOpenSSHをインストール
- chocolateryでインストール。バージョンは7.9.0.1をインストール。
最新(8.0.0.1)では動作しませんでした。
- chocolateryでインストール。バージョンは7.9.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