0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

VSCode Portable ModeでもRemoteSSHを使いたい!

Last updated at Posted at 2023-04-23

VSCode Portable ModeでSSH設定もPortableにしたい場合のアレコレです。
標準ではSSH Configのパスは絶対パス指定なのでそのあたりなど。
なおWindowsでの話です。

結論

定義済み変数の ${execPath} から相対指定する。
config中の秘密鍵参照パスにも使える。

${execPath}/../.ssh/config

VSCode Portable Mode

まず VSCode Portable Mode について。
VSCodeはインストールせずにUSBメモリなどに入れて環境設定ごと持ち運ぶことができます。
手順としては以下の通り。

  1. https://code.visualstudio.com/download から zip 版をダウンロードします。 image.png

  2. VSCodeを配置したいディレクトリに展開します。 image.png

  3. 展開したフォルダ直下、Code.exeと同じディレクトリにdataフォルダを作成します。 image.png

これでこのCode.exeはPortable Modeで起動するようになり、設定などはすべてdataフォルダに保存されるようになります。

PortableなSSH設定

VSCodeのRemote SSHで利用されるSSH Configのパスは C:\Users\{USERNAME}\.ssh\configC:\ProgramData\ssh\ssh_config になっています。(多分)
設定で特定のファイルパスを指定することもできますが、絶対パスしか受け付けておらず、素直に相対パスを指定すると一見動きそうでもSSH接続時に失敗します。
image.png

せっかくPortable版を使っていてもSSH設定が絶対パス指定では環境を持ち運べる恩恵が半減してしまいます。
そこでVSCodeディレクトリ内にSSH設定を持ってくるために、VSCodeの定義済み変数を用いた疑似相対パスを利用します。

定義済み変数の ${execPath} は Code.exe のパスを示すため、ここから相対指定を行うことでVSCodeディレクトリ内の指定を行うことができます。

例えば ${execPath}/../.ssh/config と指定すれば、 「Code.exeと同階層の.sshフォルダ内のconfigファイル」をSSH Configに指定することができます。
またこの定義済み変数はSSH Config中の設定値に対しても有効で、同じく絶対パス指定である秘密鍵も ${execPath}/../.ssh/id_ed25519 のように指定することができます。

image.png
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?