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でシェアする!