アイキャッチ
システム開発 2022年11月28日

WinSCPで使っているSSH鍵でVS CodeからGitを使うための設定

開発にFTPソフトを使う場合、WinSCPなどのPuTTY形式のSSH鍵を使っていると思います。これは、すでにWinSCP使用していて同じSSH鍵でVS CodeからGit操作をしたい方向けの設定です。

SSH鍵をOpenSSH形式に変換する

WinSCPに付属しているPuTTYgenを使ってOpenSSH形式のSSH鍵を保存します。

WinSCPを開いて、[新しいセッション(Ctrl+N)]>[ツール(T)]>[PuTTYgenを実行(G)]>[Conversions]>[Import Key] の順にクリックして現在WinSCPで使用しているSSH鍵(.ppk)をインポートします。

インポートしたら、[Conversions]>[Export OpenSSH Key] の順にクリックして%userprofile%\.ssh\に名前を付けて保存します。

%userprofile%はWindowsの変数です。ほとんどの人はC:\Users\ユーザー名\のファイルパスが入ってます。

Windows OpenSSHにGitの接続設定をする

%userprofile%\.ssh\configを開いて以下を追記します。ファイルがない場合はテキストエディタを使ってUTF-8で作成します。以下はGitLab.comの場合。

Host gitlab
    HostName gitlab.com
    IdentityFile ~/.ssh/[保存した鍵のファイル名、id_rsaなど]

Gitが使うSSHコマンドを変更する

WindowsのOpenSSHコマンドを使うように、次のコマンドを実行してGitの設定を変更します。

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

OpenSSH Agentを設定する

SSH鍵にパスフレーズを設定していない場合この作業は必要ありません。ですが、秘密鍵の流出対策としてパスフレーズの設定された鍵を使うことをお勧めします。

WindowsのOpenSSH Agentサービスを使ってパスフレーズの入力を省略します。

Windowsの[スタート]を開いて[サービス]を検索します。サービスアプリを開いて[OpenSSH Authentication Agent]をダブルクリックしてプロパティを表示します。[サービスの状態]が実行中でない場合は[開始(S)]をクリックします。[スタートアップの種類]が自動でない場合は[自動]を選びます。

Windows PowerShellかVS Codeのターミナルを開いて次のコマンドを実行して.sshにあるSSH鍵をOpenSSH Agentに追加します。

PS C:\Users\hoge>ssh-add

または、追加する鍵を指定します。

PS C:\Users\hoge>ssh-add .\.ssh\id_rsa

以上で設定完了です。お疲れ様でした。

別の方法

WinSCPに付属しているPageantにWindows OpenSSHとの統合オプションがあるようです。調べたらまとめたいと思います。

https://winscp.net/eng/docs/ui_pageant#integrating_with_windows_openssh

記事の著者:

Web制作ならアズシエルにご相談ください。

Web制作パートナーとしてサイトの企画からデザイン、運用まで支援します!Webサイト制作についてはこちらからサービスをご確認ください!

サイトの制作も運用も月額定額料金でプロにお任せできるサービスのバナー

この記事をSNSでシェアする!