Windows で SSHFS を使用して SSH 経由でネットワークドライブをマップする方法

WindowsでSSH経由でネットワークドライブをマッピングするのは、特にスムーズかつ安全に動作させたい場合には、決して簡単なプロセスではありません。SMBやAFPだけを使っていて、リモートサーバーが表示されなかったり、接続が切れ続けたりした経験があるなら、SSHFS-Winクライアントを使うのが解決策になるかもしれません。このクライアントは、FTPなどの従来のプロトコルをあまりいじることなく、SSH経由でリモートディレクトリをマウントできるため、不思議なことにそのギャップを埋めてくれます。リモートフォルダをWindowsエクスプローラーで通常のドライブとして表示し、シームレスにファイルを探せるようにするのが目標です。しかし、正しい手順を踏まなかったり、コマンドラインの迷路に迷い込んだりすると、設定が少々面倒になることもあります。そこで、潜在的な落とし穴と、より確実に動作させるためのヒントを網羅したウォークスルーをご紹介します。環境によっては、SSHFS接続が最初は失敗しても、再起動や新規ログイン後に魔法のように接続できる場合があります。これはおそらくWindowsの不具合によるものです。リモート アクセスが必要なときに毎回面倒にならないように、整理しておきましょう。

WindowsでSSHFS経由でリモートサーバーをネットワークドライブとしてマウントする方法

方法1: WinGetまたは手動でSSHFS-Winをインストールする

これを実行するには、SSHFS-Win をインストールする必要があります。これは、SSH を Windows 互換のネットワークドライブに変換するツールです。リモートディレクトリをローカルドライブのようにマッピングするのに役立ちます。コマンドラインが面倒な場合や初めての場合は、Windows ターミナル または PowerShell を管理者として開き、次のコマンドを実行してください。

winget install SSHFS-Win. SSHFS-Win

WinGetで問題が発生する場合は、GitHubリポジトリまたは公式サイトから直接MSIインストーラーをダウンロードしてください。この方法でインストールすると、すべてが非常にスムーズにセットアップされます。インストールが完了すると、C:\Program Files\SSHFS-Win\bin\ディレクトリからコマンドを実行できるようになります。インストール場所には注意してください。後でスクリプトやスケジュールされたタスクを実行する際に正しいパスが必要になります。

方法2: Windowsファイルエクスプローラーでリモートディレクトリをマッピングする

ファイルエクスプローラーを開き、 「このPC」を右クリックしてネットワークドライブの割り当てを選択します。フォルダパスに、以下のUNC文字列を入力します。

\\[email protected]\ps

内訳は次のとおりです。

  • sshfs – デフォルトでホームディレクトリをマップします。個人用フォルダーに便利です。
  • sshfs.r – リモート システムのルートをマップします。ドライブ全体が必要な場合に便利です。
  • sshfs.k – パスワードの代わりに SSH キー認証を使用するため、より安全で優れています。
  • sshfs.kr – SSH キーを使用してルートに接続します。何をしているのかわかっていない限り、おそらくやりすぎです。

yourserver.comなどの部分はIPアドレスまたはホスト名に、user はSSHログイン名に置き換えてください。これを行うと、資格情報マネージャーに資格情報を保存していない限り、Windowsはパスワードの入力を求めます。再起動後に再接続したい場合は、コマンドラインに `/persistent:yes` を追加するか、ネットワークドライブの割り当て設定時にスライダーを確認してください。

方法3: 自動化とスクリプトにコマンドラインを使用する

スクリプトや自動化がお好きなら、net use コマンドがお役に立ちます。Linux フォルダをマウントする例を以下に示します。

net use W: \\[email protected]\var\www /user:sysops

または Windows ホスト ディレクトリ:

net use m: \\[email protected]\ps /user:administrator

Enterキーを押すと、cmdkeyで認証情報を保存していない限り、パスワードの入力を求められます。パスワードを保存して、毎晩の習慣にならないようにするには、次のコマンドを実行してください。

cmdkey /add:192.168.1.100 /user:admin /pass:yourpassword

注:再起動後もドライブをマウントしたままにしたい場合は、コマンドの末尾に「/persistent:yes」を追加してください。そうしないと、PCの再起動後にドライブが消えてしまいます。また、複数のSSHFS接続を視覚的に管理する簡単な方法をお探しの場合は、SSHFS-Win-Managerをご検討ください。このGUIは、特に複数のリモートフォルダを切り替えたり、キーベース認証を頻繁に使用したりする場合に役立ちます。

追加のヒント: SSH キー、スケジュールされたタスク、セキュリティ

でSSHキーを生成することでログインを簡素化できますssh-keygen.exe。シームレスなマッピングが必要な場合はパスフレーズを省略できます(セキュリティに不安がある場合は推奨されません)。公開鍵をSSHサーバーの*authorized_keys*ファイルに貼り付けます~/.ssh/authorized_keys。通常、ファイルは にあります。Windowsでは、秘密鍵が などの安全な場所に保管されていることを確認してくださいC:\Users\YourName\.ssh\id_rsa

ログイン時に自動的に接続したい場合は、先ほど示したPowerShellスクリプトを実行するスケジュールタスクを作成してください。ログイン時に実行するように設定すれば、ユーザーの介入なしにドライブがマウントされます。ただし、環境によっては最初の試行が失敗し、再起動または再ログイン後に初めて正常に動作する場合があることに注意してください。Windowsはネットワークマウントの挙動が不安定な場合があり、SSHFSも初期状態では必ずしも安定しているとは限りません。

最後に、利便性を高めるために、グラフィカルな SSHFS-Win-Manager を使用すると、複数の接続を管理したり、認証情報を簡単に切り替えたりできます。コマンドライン操作が面倒な場合や、スクリプトではうまくいかない場合に特に便利です。

まとめ

  • コア クライアントを取得するには、WinGet または MSI 経由で SSHFS-Win をインストールします。
  • 正しい UNC 構文で ネットワーク ドライブのマップ を使用し、ニーズに応じて適切なプレフィックスを選択します。
  • 資格情報は cmdkey 経由で安全に保存され、スクリプト作成や自動化に net use コマンドを活用します。
  • オプションで、パスワードなしのログイン用の SSH キーを生成し、自動再マウント用のスケジュールされたタスクを作成します。
  • SSHFS-Win-Manager を使用して複数の SSHFS 接続を管理し、制御と構成を容易にします。

まとめ

この設定は少々面倒ですが、WindowsでSSH経由でリモートファイルシステムに安全かつシームレスにアクセスする必要がある場合は、その効果は絶大です。ネットワークから共有を取得するほど簡単ではありませんが、一度設定してしまえば非常にスムーズで、SMBよりも安全で柔軟です。ただし、SSHFSは完璧ではないことに注意してください。特にネットワークが不安定だったりSSHサーバーに問題があったりする場合は、再起動や手動での再接続が必要になることがあります。それでも、少なくとも暗号化されていないチャネルでファイルを公開したり、FTPを操作したりする手間は省けます。

これで、リモートドライブを安全にマッピングするのにかかる時間を数時間短縮できるといいですね。ただし、この作業の目的は、リモートアクセスを安全かつ簡単に、手間をかけずに使えるようにすることです。SSHマウントされたネットワークドライブがスムーズに動作するようになることを願っています。