VSCodeのRemote Developmentが提供する機能を使えば、世界中のコンピュータを自分の手元のコンピュータからいつものようにGUIで操作でき、ネットワークがあれば、SSH経由で砂漠からリモートワークをすることも(やるひとがいるのかは別として)可能な時代になりました。
SSH経由での接続をpublic/private鍵で管理するに当たり、鍵自体にパスフレーズをかけることがあります。多段SSHを行う場合、VSCode上では鍵のパスフレーズ認証のプロンプトが複数回表示されてしまいます。私達は、パスフレーズを繰り返し入力するためだけに、この地球に生まれたのでしょうか?
TL;DR
解決策は以下です:
ssh-add [path to your private key]
これは、terminalからSSH接続するときにパスフレーズを一時的にキャッシュする方法で、terminalからの多段SSH接続で使えるものです。これがVSCodeのRemote Development拡張機能にもそのまま使えることに気づきました。
一時的にメモリに保存されている認証情報は、再起動などするとリセットされるようです。
余談
情報が少ないときは、別の登場人物の範疇の問題かも?
VSCodeに限定して多段SSHのパスフレーズを省略方法を検索したところ、困っている人がいたようですが、対処法が見つかりませんでした。これをRemote Developmentの問題と捉えるか、SSHの一般的な問題と捉えるかで情報量が違うのが興味深いです。特定の問題を調べて、解決策が全く出てこない場合は、関わっているであろう登場人物(=ソフトウェアやOSの機能など)うち、別の登場人物に焦点を当ててみるといいかもしれないですね。
鍵とパスフレーズについて
ちなみに、ある回答では「鍵からパスフレーズを消してしまえば解決するよ」という斜め上の意見に驚きましたが、そういう問題でもない気がします。
鍵が流出したときの防御としてパスフレーズをかけておくのが無難だと思われます。
そして、ssh-add
を使ってRemote Developmentの面倒なパスフレーズを1回で済ますのが、実用的かつ安心なのではないでしょうか?
それでは、いいVSCodeライフを!ごきげんよう!