Windows 11 に入っているもの、入っていないもの
2026 年 9 月 24 日、Microsoft 公式ドキュメントで確認。 Windows 11 はコマンドプロンプトから SFTP サーバーと通信できます。Microsoft の OpenSSH 概要ページは、Windows の機能に組み込まれているコマンドとして ssh、sshd、ssh-keygen、ssh-agent、ssh-add、ssh-keyscan、sftp、scp を列挙しています。つまり sftp user@host はマイクロソフト純正の手段です。
一方で、そのサーバーをドライブレターにする手段は Windows 11 にありません。「ネットワーク ドライブの割り当て」に SFTP の選択肢はなく、シェルが理解する sftp:// の書式もなく、専用のリダイレクタもありません。この空白がこのページの主題です。OS を問わない一般論は SFTP をネットワークドライブとしてマウントする にあり、以下は Windows 11 に限った話です。
まず OpenSSH クライアントの有無を確認する
入っている前提で進めないでください。Microsoft のインストール状態の表は、「Windows 10 build 1809 +」について「Not installed, install and enable using optional features」と書いています。「Installed but not enabled」と書かれているのは Windows Server 2025 だけです。確認したうえで、クライアントだけを入れます。外向きに接続するだけならサーバーは不要です。
powershell
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0どちらも未導入のマシンでは OpenSSH.Client~~~~0.0.1.0 に対して State : NotPresent が返ります。GUI で行う場合は、スタートから *オプション機能*、機能を表示、OpenSSH クライアント、追加 の順です。
鍵の置き場所は Linux と同じ考え方です。ssh-keygen -t ecdsa は保存先として C:\Users\username/.ssh/id_ecdsa を提示します(区切り文字が混ざったこのプロンプトは Microsoft のドキュメントに載っているままです)。アルゴリズムを指定しなければ Ed25519 になります。エージェントは初期状態では停止しています。
powershell
Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ecdsa先に ssh user@host を通してください。以下の 4 つはどれも同じ方式で認証するので、ここで詰まる鍵はあちらでも詰まります。すでに詰まっているなら SFTP の Permission denied (publickey) が担当です。
`net use` だけでは SFTP を割り当てられない理由
ここは正確に書いておく価値があります。動くはずのない net use レシピがネット上に大量にあるからです。Microsoft のリファレンスはこのコマンドを「Connects a computer to or disconnects a computer from a shared resource」と定義し、ローカル名を 2 種類のデバイス——「disk drives (that is, D: through Z:) and printers」——に限定し、対象を \\ComputerName\ShareName と規定しています。URL やプロトコル名、ポート番号を受け取るパラメータは存在しません。
つまり net use は SFTP を話しません。「別のものが既に提供している UNC パス」にドライブレターを結びつけるだけです。だから SSHFS-Win は動きます。\\sshfs\ というネットワークプロバイダを登録し、net use はそれを通常の共有と同じように割り当てるからです。
4 つの経路を並べる
| 経路 | カーネルドライバ | ライセンス / 価格 | ドライブレター | 鍵認証の注意 |
|---|---|---|---|---|
| SSHFS-Win + WinFsp | 必要(WinFsp) | 無料。GPLv2+ と GPLv3(FLOSS 例外付き) | net use X: \\sshfs\... | .k 系は %USERPROFILE%/.ssh/id_rsa を読み、パスフレーズなしの鍵のみ |
| rclone mount + WinFsp | 必要(WinFsp) | 無料、MIT | コマンドラインで X: または * | key_file か Pageant。暗号化されていない OpenSSH / PEM 鍵のみ |
| Bitvise SSH Client | 公式ページに記載なし | すべての環境で無償 | 独自の SFTP ドライブマッピング | GUI で鍵を管理 |
| AnyStorage | 不要(ループバック WebDAV) | 無料版は読み取り専用、Pro で読み書き | http://127.0.0.1:3211 をネットワークドライブに割り当て | 接続ごとに鍵かパスワード |
4 つのうち 2 つはカーネルモードのファイルシステムドライバを入れ、2 つは入れません。WinFsp は自身を「a kernel mode file system driver (FSD) and a user mode DLL」と説明し、「Windows 7 to Windows 11 and the x86, x64 and ARM64 architectures」に対応します。Linux が FUSE で得ているものと同じ仕組みですが、管理されたマシンでは情報システム部門との相談事項になります。
経路 1:SSHFS-Win と WinFsp
Windows で sshfs にいちばん近いものです。先に WinFsp を入れます(プロジェクトの指示は「Install the latest version of WinFsp」)。そのうえで SSHFS-Win を入れます。ライセンスは SSHFS と同じ GPLv2 以降です。
powershell
winget install SSHFS-Win.SSHFS-Win
net use X: \\sshfs\user@host!2222\srv\data書式は \\sshfs\[LOCUSER=]REMUSER@HOST[!PORT][\PATH] として文書化されており、接頭辞によって起点ディレクトリと認証方式の両方が変わります。
\\sshfs\はリモートユーザーのホームディレクトリ。\\sshfs.r\はリモートのルートディレクトリ。\\sshfs.k\はホームディレクトリ、SSH 鍵認証を使用。\\sshfs.kr\はルートディレクトリ、SSH 鍵認証を使用。
ポートは ! の後ろに書き、既定は 22 です。つまずくのは鍵の制約です。.k と .kr では鍵を %USERPROFILE%/.ssh/id_rsa から読み、プロジェクトの表現では「only keys without a pass phrase are supported」。パスフレーズ付きの id_ed25519 はこの接頭辞では使えないので、代わりに SSH の config でエイリアスを作って鍵を指定します。UNC パスを手打ちするのが嫌なら、SSHFS-Win-Manager というサードパーティの GUI があります。
経路 2:rclone mount と WinFsp
rclone の sftp リモートは host、user、port(既定 22)、pass、key_file を取り、マウントは同じドライバ経由です——「to run rclone mount on Windows, you will need to download and install WinFsp.」
powershell
rclone config create srv sftp host example.com user deploy key_file %USERPROFILE%\.ssh\id_ed25519
rclone mount srv:/srv/data X: --vfs-cache-mode writes --network-modeディスクらしく振る舞うかどうかは 3 つのフラグで決まります。ドライブレターは X:、または空いている次の 1 文字を取る *。--network-mode はマウントを固定ディスクではなくネットワークドライブとして見せ、--volname \\server\share と組み合わせます。そしてキャッシュモードは実質必須です。既定の off ではファイルを「can't be opened for both read AND write」なので、「many applications won't work with their files on an rclone mount without --vfs-cache-mode writes or --vfs-cache-mode full」と警告されています。
rclone の SFTP ページにある Windows 固有の落とし穴が 2 つ。「the only ssh agent supported under Windows is Putty's pageant」——さきほど有効にした Windows の ssh-agent サービスではありません——そして key_file は「only unencrypted OpenSSH or PEM encrypted files are supported」。マウント自体が起動しない場合は rclone mount の FUSE エラー がドライバ側の失敗を扱っています。
経路 3:Bitvise SSH Client
Windows 専用のアプリで、公開されている機能一覧に「one of the most advanced graphical SFTP clients」と、別項目として「SFTP drive mapping」が含まれます。ライセンスが珍しく寛容です——「Bitvise SSH Client can be used free of charge, in all types of environments, without limitation」。有償ライセンスは「slightly stronger support and upgrade commitments」と、無償版にはない免責を追加します。対応は Windows 11 と Windows Server 2025 から Windows XP SP3 まで遡り、確認時点のバージョンは 9.66 です。公開されていないのは、そのドライブマッピングが内部で何をインストールするかです。上の表のドライバ欄は「不要」ではなく「記載なし」と読んでください。
経路 4:AnyStorage(ドライバを一切使わない)
この経路は問題を反転させます。Windows に SFTP を教えるのではなく、外向きに SFTP を話し内向きに WebDAV を話すものをマシン上で動かし、その WebDAV を Windows にマウントさせます。Windows 側から見ればごく普通の WebDAV のネットワークドライブなので、新しいドライバも管理者権限も要りません。
AnyStorage 0.2.25 は 2026 年 9 月 23 日公開、Windows 10 以降で動きます。SFTP 接続を追加して一度開き、サイドバーの Services から WebDAV タブを選んで Start を押します。サーバーは http://127.0.0.1:3211 で待ち受け、HTTP Basic 認証は常に有効(ユーザー名 anystorage、初回生成の 24 文字パスワード)。あとはエクスプローラーの「ネットワーク ドライブの割り当て」にその URL を貼るだけです。WinFsp も管理者権限も要りません。
正直な制約。 無料版では WebDAV サーバーは読み取り専用で、TLS がないためループバックにバインドしています。接続は遅延接続なので、アプリを再起動したあとは SFTP 接続を一度開けば WebDAV ルートに再び現れます。そして Windows 標準の WebDAV クライアントには固有の一覧があります。WebClient サービスは 2026 年時点で非推奨でふつう停止しており、HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters の BasicAuthLevel は 2 にするまで平文 HTTP 上の Basic 認証を拒否し、FileSizeLimitInBytes は転送を 50,000,000 バイトで打ち切ります。放置すると "The folder you entered does not appear to be valid"、System error 67、0x80070043 のいずれかが出ます。
エクスプローラーはそれぞれのマウントをどう扱うか
どのマウントも Windows から見て同じではなく、違いは小さなところに出ます。
net use の割り当てが取れるのは Microsoft の定義で「D: through Z:」なので、C: より前は使えず、同時に割り当てられる数もアルファベットの残りが上限です。
rclone のマウントは既定では固定ディスクです。--network-mode でネットワークドライブになり、--volname \\server\share で UNC 形式の名前が付きます。この選択はアプリ側の扱いを変え、特にバックアップツールはネットワークの場所に対して別の動きをします。
AnyStorage の経路は WebDAV のネットワークの場所なので、SFTP ではなく Windows の WebDAV クライアントの挙動を引き継ぎます。だからこそ、SFTP 側の設定より上に挙げたレジストリ値のほうが効いてきます。
そしてどの経路でも、ディレクトリの一覧はサーバーへの実際の往復です。2 万件のエントリがあるフォルダは、やはり 2 万件あるフォルダとして感じられます。
再起動後もマウントを残す
文書化された純正の永続化手段はひとつだけで、それは net use のものです。/persistent:yes は「saves all connections as they are made, and restores them at next logon」。SSHFS-Win の経路は最終的に本物の net use 割り当てで終わるので、これが効きます。
powershell
net use X: \\sshfs\user@host /persistent:yes同じリファレンスから注意が 2 つ。/persistent の既定は「the setting used last」なので明示的に指定してください。そして「deviceless connections are not persistent」——ドライブレターなしで作った割り当ては戻ってきません。他の 3 つの経路では永続化はアプリ側の仕事です。rclone のマウントのドキュメントはマウント自体を扱っており、Windows の自動起動の仕組みは扱っていないので、自動起動のレシピは「文書化された機能」ではなく「自分の設定」として扱ってください。
よくある質問
Windows 11 に SFTP クライアントは入っていますか?
コマンドラインには入っていますが、ファイルマネージャーにはありません。Microsoft の OpenSSH ドキュメントは、Windows の OpenSSH 機能に組み込まれているコマンドとして sftp と scp を挙げています。OpenSSH クライアントを入れれば sftp user@host が使えます。SFTP をドライブレターに割り当てる機能は Windows 11 にはありません。GUI クライアントについては Windows 11 の SFTP クライアント を参照してください。
なぜ net use は SFTP で動かないのですか?
net use はどのプロトコルも話さないからです。Microsoft のリファレンスはこれを「a computer to ... a shared resource」への接続と定義し、対象を \\ComputerName\ShareName に限定し、ローカル名を「disk drives (that is, D: through Z:) and printers」に限定しています。別のものが提供している UNC パスにレターを結びつけるだけです。SSHFS-Win が net use で動くのは、net use が指す先として \\sshfs\ プロバイダを登録しているからです。
Windows 11 で SFTP をマウントするには WinFsp が必要ですか?
4 つのうち 2 つでは必要です。SSHFS-Win は WinFsp を前提条件として挙げ、rclone は Windows での rclone mount に「will need」と書いています。WinFsp は Windows 7 から 11、x86 / x64 / ARM64 に対応するカーネルモードのファイルシステムドライバで、ライセンスは GPLv3 に FLOSS 例外が付いたものです。回避できる 2 つは、AnyStorage のループバック WebDAV サーバーと Bitvise 独自のドライブマッピングです。
パスフレーズ付きの SSH 鍵は使えますか?
経路によって違い、ここがいちばん驚かれる点です。SSHFS-Win の .k と .kr は %USERPROFILE%/.ssh/id_rsa を読み、「only keys without a pass phrase」しか対応しません。rclone は key_file を受け取りますが「only unencrypted OpenSSH or PEM encrypted files」で、Windows では「the only ssh agent supported ... is Putty's pageant」です。Windows 純正の ssh と sftp は ssh-add 経由でパスフレーズを問題なく扱うので、パスフレーズと相性が良いのはコマンドラインと、鍵を自分で管理するクライアントです。詳しくは FTP / SFTP クライアント を参照してください。
コマンドラインの sftp より遅く感じるのはなぜですか?
ファイルマネージャーはあなたより遥かに多くを要求するからです。rclone の SFTP 側の既定値が問題の形を示しています——--sftp-concurrency はファイルあたり 64 件の未処理リクエストを許し、--sftp-chunk-size は 32Ki で、ドキュメントはこれがプロトコル上の上限だと注記しています。つまりスループットを縛るのは帯域ではなく往復回数です。サムネイル生成やインデックス作成はその往復をさらに増やします。もうひとつ、「SFTP does not natively support checksums (file hash)」なので、リモートで md5sum を実行できない限りこの経路のどれもハッシュでコピーを検証しません。コピーダイアログが示すのは転送したバイト数で、検証したバイト数ではありません。