WindowsのエクスプローラーにLinuxホームを"ドライブ"追加する方法 — WinFsp × rcloneで実現するSSHマウントと自動接続

この記事の内容

  • WinFspとrcloneを組み合わせ、WindowsエクスプローラーにLinuxのファイルシステムをドライブとして追加する方法を解説します
  • SFTP(SSH経由)でLinuxサーバーに接続し、ローカルドライブと同様にファイルを操作できる環境を構築します
  • SSH鍵認証による安全な接続設定手順を紹介します
  • Windowsタスクスケジューラを使ったログオン時の自動マウント設定も取り上げます
  • VPN(Tailscaleなど)環境でのネットワーク待機問題とPowerShellスクリプトによる解決策も解説します

はじめに

LinuxサーバーでAIエージェントやコードを常時稼働させている場合、その生成物(画像やドキュメントなど)をWindowsの環境から直接確認・編集できると非常に便利です。

今回は WinFsprclone を組み合わせることで、LinuxサーバーのファイルシステムをWindowsのドライブとしてエクスプローラーに追加する方法を紹介します。Linux上のファイルをあたかもローカルのフォルダのように扱えるようになります。


使用するツールの概要

WinFsp(Windows File System Proxy)

WinFspはWindows上で仮想ファイルシステムを構築するためのドライバです。これを使うことで、エクスプローラーに任意の外部ファイルシステム(ネットワークやクラウドなど)をドライブとしてマウントできます。

rclone

rcloneは、クラウドストレージやリモートファイルシステムとの同期・転送を行う高機能なコマンドラインツールです。Google Drive、Dropbox、AWS S3など、さまざまなストレージに対応しています。今回はその中でも SFTP(SSH経由) を利用してLinuxサーバーに接続し、WinFspと組み合わせてWindowsにマウントします。


手順①:WinFspのインストール

  1. WinFsp公式サイト からインストーラーをダウンロードします
  2. インストーラーを実行し、基本構成(Core)を選択して「Next」で進めます
  3. 数秒でインストールが完了します

特に追加の設定は不要です。これで仮想ファイルシステムを扱う準備が整いました。


手順②:rcloneのインストール

rcloneはコンソールアプリですので、wingetコマンドで簡単に導入できます。

winget install rclone

インストール後、コマンドプロンプトまたはPowerShellで以下のコマンドを実行し、正しくインストールされているか確認します。

rclone version

v1.73.0 のようにバージョン情報が表示されれば成功です。


手順③:rcloneの設定(SSH接続)

次に、rcloneの設定ファイルを作成します。以下のコマンドを実行すると対話形式で設定を進められます。

rclone config

設定の手順は以下のとおりです。

  1. 新しいリモートを作成し、名前を入力します(例:moviejen
  2. ストレージタイプで SFTP を選択します(番号は環境により異なります)
  3. ホスト名(例:moviejen.local)とSSHユーザー名を入力します
  4. ポート番号はデフォルトの 22 を使用します
  5. 認証方法としてSSH鍵ファイルを指定します(例:~/.ssh/id_rsa

設定が完了すると、rclone config の一覧に新しいリモートが追加されます。


手順④:接続テスト

設定が正しく行えているか確認します。

rclone lsd moviejen:

Linuxサーバーのディレクトリ一覧が表示されれば、接続は成功です。


手順⑤:Windowsへのマウント

LinuxサーバーのホームディレクトリをWindowsのドライブとしてマウントします。

rclone mount moviejen: Z: --vfs-cache-mode writes

これでLinux側のファイルシステムが Zドライブ としてエクスプローラーに表示されます。中身を開くとLinux上のファイルをそのまま閲覧・編集でき、ファイルの作成も双方向に反映されることを確認できます。


手順⑥:自動マウント(ログオン時に接続)

常時マウントしたい場合は、Windowsタスクスケジューラでログオン時に自動実行させます。

  1. タスクスケジューラで「基本タスクの作成」を選択します
  2. トリガーを「ログオン時」に設定します
  3. アクションは「プログラムの開始」を選択します
  4. プログラムにrclone.exeのフルパスを指定します(以下のコマンドで確認できます)
Get-Command rclone | Format-List Path
  1. 引数にマウントコマンドを指定します
mountmoviejen:Z:vfs-cache-modewrites

ただし、VPN(Tailscaleなど)を利用している環境では、ログオン直後はまだネットワークが接続されていないため、マウントが失敗することがあります。


手順⑦:接続待機スクリプトによる改善

ログオン直後のネットワーク未接続問題を解決するために、PowerShellスクリプトを作成します。このスクリプトは一定間隔で接続確認を行い、成功したらマウントコマンドを実行します。

# mount-linux.ps1
$remote = "moviejen"
$mountPoint = "M:"
$interval = 10

while ($true) {
    $result = Start-Process -FilePath "rclone" -ArgumentList "lsd $remote:" -PassThru -Wait
    if ($result.ExitCode -eq 0) {
        break
    }
    Start-Sleep -Seconds $interval
}

Start-Process -FilePath "rclone" -ArgumentList "mount $remote: $mountPoint --vfs-cache-mode writes"

このスクリプトをタスクスケジューラで指定すれば、ログオン後にネットワークが安定した時点で自動的にマウントが実行されます。


実行結果

再ログイン後、TailscaleなどのVPNが起動して接続が確立すると、エクスプローラーに Mドライブ が自動で表示されます。Linuxのホームディレクトリに完全に同期されており、ファイル操作もスムーズに行えます。


まとめ

今回の構成で実現できることは以下のとおりです。

  • WindowsエクスプローラーからLinuxのファイルを直接閲覧・編集できます
  • SSH鍵認証による安全な接続が行えます
  • Windowsタスクスケジューラとの組み合わせで、ログオン時に自動マウントが可能になります
  • PowerShellスクリプトを使った接続待機処理により、VPN環境でも安定した自動マウントが実現できます

WinFspとrcloneはどちらも無料で利用できるツールです。LinuxサーバーをWindowsから手軽に扱いたい方はぜひ試してみてください。