Above & Beyond

日々のアウトプット記録

Win-sshfs

モチベーション

VS CodeのRemote SSHはとても便利なんだけど、接続先のOSが古いとかサポートされていない環境だと使えない。 じゃぁ、nfs、っていうのもroot権限がないと設定とかできないし、共用の開発サーバーだと勝手に設定を変えることもできない。

そういう場合に、sshfsを使ってWindowsエクスプローラーでサーバーのディレクトリをマウントして使うという方法がある。 この方法だとssh接続ができるホストであればOKなので、上記のような古の環境でもGUIエディタで編集などができるようになる。 ということで久しぶりにインストールと設定をしたのでそのメモ。



セットアップ

インストール

以下の2つをインストール

起動

スタートメニューからwin-sshfsを検索して起動

設定

  1. 起動したらタスクトレイに常駐(黄色いアイコンのやつ)するので、アイコン上でマウス右クリック
  2. Show Managerを選択して設定画面を開く
  3. ダイアログの左下に有る Add ボタンをクリック
  4. ホストへのsshでのログインなどの情報を入力 f:id:kabukawa:20210209235746p:plain
    • DriveName:接続先の名前(区別するのに使うだけなので任意の名前でOK)
    • Host:ホスト名もしくはIPアドレス
    • Port:22
    • Username:ssh接続する時のユーザーID
    • Password:パスワード認証の場合。ドロップダウンで鍵認証も可能
    • Directory:ホスト上のマウントしたいディレクト
    • DriveLetter:ローカルPCのドライブレター
    • Mount at Login:チェックを外すのを推奨(後述)
  5. Save ボタンをクリックして保存

マウント

Mount ボタンを押すと DriveLetter で指定したドライブとして Host の Directory がマウントされる。 あとはWindows上で使うのと同じ。エクスプローラ上でコピーしたり編集操作も可能

アンマウント

使い終わったらunmountしておく。

注意点

とても便利なsshfsなんだけど、Windowsのネットワークドライブとしてマウントするというところで注意点が有る。 それは、ウィルススキャンがネットワークドライブに対してもかかるようになっていると、sshfsで接続したホストもスキャンされることになる、ということ。 スキャンされるということはファイルを読んで結構なデータが転送されることになるので、例えばクラウド仮想マシンに対してマウントをしていると クラウドからのデータ転送料金だけで大変な金額になったりする。そういう経験をしたことが有るので、Mount at LoginオプションはOFFを推奨しています。

とはいえ、そこそこのパフォーマンスで使えるし、ローカルのPCへのインストールだけなので敷居はそこそこ低いかなと思います。 こういう方法もあるということで、何かのときに役に立ってくれるといいなと思います。