Storage Server をネットワークドライブとしてマウントする:Linux と Windows

公開日 更新日 読了時間 29 分

Storage Server をローカルディスクと同じように、暗号化してマウントする方法です。Linux ではディレクトリ /storage として、Windows ではネットワークドライブ storage として利用でき、永続的なマウントの設定とエラーメッセージへの対処法もあわせて解説します。

お使いの Storage Server は、ローカルディスクと同じようにサーバーへマウントできます。マウントすると、Linux ではディレクトリ /storage として、Windows では storage という名前のネットワークドライブとして表示されます。プログラム、スクリプト、バックアップツールはこのパスにそのまま書き込めるので、ファイルを手作業でコピーする手間はかかりません。

本ガイドでは、すべての方法をステップごとに説明します。データはインターネットを経由するため、どの方法でも通信は一貫して暗号化されます。Linux では SMB 3 で暗号化した SMB(CIFS や Samba とも呼ばれます)または SSHFS を、Windows では SFTP 経由の SSHFS-Win を使います。さらに、再起動後も自動でマウントされるようにする設定と、実際によく目にするエラーメッセージも取り上げます。Linux のコマンドは Debian 12 と 13、Ubuntu 22.04 と 24.04、AlmaLinux と Rocky Linux 9 に、Windows の手順は Windows 10 と 11、Windows Server 2016 から 2025 に対応しています。

主要なコマンドは、カスタマーエリアの Storage Server のページにある「ネットワークドライブとしてマウント」カードにも、お使いのホスト名とユーザー名を入力済みの状態で掲載されています。

始める前に:接続情報とアクセス設定

必要な情報はすべて、カスタマーエリアの Storage Server のページにある「接続情報」セクションに記載されています。ホスト名、ユーザー名、パスワードの 3 つです。パスワードが表示されていない場合は、「パスワードをリセット」で新しいパスワードを生成します。ただし、この操作を行うと既存の接続はすべて切断されるため、すでにマウントしているサーバーには新しいパスワードを設定し直す必要があります。

同じページにある「アクセス設定」ボタンを押すと、アクセス方法ごとのスイッチが表示されます。本ガイドに関係するのは、そのうちの次の 3 つです。

  • Samba / CIFS は、SMB でネットワークドライブを使うためのスイッチです(ポート 445)。
  • SSH / SFTP / SCP / rsync は、Linux で SSHFS を、Windows で SSHFS-Win を使うためのスイッチです(ポート 23)。
  • 外部からの到達可能性は、お使いのサーバーがインターネット経由でストレージにアクセスするため、オンにしておく必要があります。

新しく注文した Storage Server では、3 つとも最初から有効になっています。本記事の例では次の値を使っていますので、ご自身の値に置き換えてください。

項目値の例
ホスト名u123456.storage.kernelhost.net
ユーザー名u123456
共有名(SMB)backup
SMB のポート445
SSH、SFTP、rsync のポート23

共有名はどの Storage Server でも backup です。したがって完全なパスは、Windows では \\u123456.storage.kernelhost.net\backup、Linux では //u123456.storage.kernelhost.net/backup になります。

まず、お使いのサーバーがストレージにそもそも到達できるかを確認します。SSHFS と SSHFS-Win にはポート 23、SMB にはポート 445 を使います。Linux では次のコマンドを実行します。

timeout 5 bash -c '</dev/tcp/u123456.storage.kernelhost.net/23' && echo "ポート 23 に接続できます"
timeout 5 bash -c '</dev/tcp/u123456.storage.kernelhost.net/445' && echo "ポート 445 に接続できます"

Windows では PowerShell で次のコマンドを実行します。

Test-NetConnection u123456.storage.kernelhost.net -Port 23

TcpTestSucceeded : True と表示されれば、経路に問題はありません。接続できない場合は、該当するスイッチ(ポート 23 なら「SSH / SFTP / SCP / rsync」、ポート 445 なら「Samba / CIFS」)と「外部からの到達可能性」に加えて、お使いのサーバーに外向きの通信をフィルタリングするファイアウォールがないかを確認してください。ポート 445 が恒常的にブロックされている場合、Linux では後述の SSHFS を使ってください。

Linux:ストレージを /storage にマウントする(SMB)

1. cifs-utils をインストールする

SMB クライアントはパッケージ cifs-utils に含まれています。Debian と Ubuntu では次のとおりです。

apt-get update
apt-get install -y cifs-utils

AlmaLinux、Rocky Linux、RHEL では次のとおりです。

dnf install -y cifs-utils

2. マウントポイントと認証情報ファイルを作成する

ストレージをマウントするディレクトリと、認証情報を保存するファイルを作成します。

mkdir -p /storage
nano /etc/storage-credentials

ファイルの内容は次のとおりです。

username=u123456
password=YOUR_PASSWORD

続いて、このファイルを root だけが読めるようにします。

chmod 600 /etc/storage-credentials

専用のファイルを使うのは、すべてのユーザーが読める /etc/fstab にも、コマンド履歴にもパスワードを残さないためです。このファイルでは、パスワードに記号が含まれていても問題はなく、引用符で囲む必要もありません。

3. 一度手動でマウントしてテストする

mount -t cifs //u123456.storage.kernelhost.net/backup /storage -o credentials=/etc/storage-credentials,seal,iocharset=utf8,uid=0,gid=0,file_mode=0660,dir_mode=0770

各オプションの意味は次のとおりです。

  • seal は、SMB 3 で接続を暗号化します。データはインターネットを経由するため、このオプションは決して省略しないでください。
  • iocharset=utf8 は、ファイル名に含まれる日本語や特殊文字が文字化けせず、正しく扱われるようにします。
  • uid と gid は、ファイルをどのローカルユーザーの所有にするかを指定します。たとえばウェブサーバーに書き込ませる場合は、uid=www-data,gid=www-data を指定します。
  • file_mode と dir_mode は、Linux 上でファイルとフォルダーに表示される権限を決めます。ストレージ自体には Linux の権限は保存されず、これらの値はお使いのサーバー上でのみ有効です。

すべてが正しく動作しているかは、次のコマンドで確認できます。

df -h /storage
touch /storage/testfile && ls -l /storage && rm /storage/testfile

これで df には、ローカルディスクではなく Storage Server の容量が表示されます。

4. /etc/fstab で永続的にマウントする

再起動のたびにストレージが自動でマウントされるよう、/etc/fstab に登録します。その前に、テスト用のマウントを解除しておきます。

umount /storage
nano /etc/fstab

ファイルの末尾に次の行を追加します(途中で改行せず、1 行で記述します)。

//u123456.storage.kernelhost.net/backup  /storage  cifs  credentials=/etc/storage-credentials,seal,iocharset=utf8,uid=0,gid=0,file_mode=0660,dir_mode=0770,_netdev,nofail,x-systemd.automount  0  0

末尾にある 3 つのオプションが重要です。

  • _netdev は、これがネットワークドライブであり、ネットワークが使えるようになってからでないとマウントできないことをシステムに伝えます。
  • nofail は、ストレージに一時的に到達できない場合でも、サーバーの起動が途中で止まらないようにします。
  • x-systemd.automount は、/storage に最初にアクセスした時点でストレージをマウントし、接続が途切れた後も自動でマウントし直します。

設定を再読み込みしてマウントします。

systemctl daemon-reload
mount -a
ls /storage

mount -a がエラーを出さなければ、追加した行は正しく記述されています。そのあとは再起動も安心して試せます。nofail のおかげで、万一設定に問題があってもサーバーは起動するからです。

Linux の代替手段:ポート 23 経由の SSHFS

SSHFS は、SSH 経由でストレージをマウントします。ポート 445 がブロックされている場合や、パスワードではなく SSH 鍵で認証したい場合に便利です。接続は常に暗号化されます。/storage には SMB と SSHFS のどちらか一方だけを設定し、両方を同時に使わないでください。

SSHFS をインストールします。Debian と Ubuntu では次のとおりです。

apt-get install -y sshfs

AlmaLinux と Rocky Linux では、パッケージは EPEL リポジトリにあります。

dnf install -y epel-release
dnf install -y fuse-sshfs

専用の鍵を生成して、ストレージに登録します。

ssh-keygen -t ed25519 -f /root/.ssh/storage_ed25519 -N ""
cat /root/.ssh/storage_ed25519.pub | ssh -p 23 u123456@u123456.storage.kernelhost.net install-ssh-key

初回の接続時には、ストレージのフィンガープリントを yes で承認し、パスワードを一度だけ入力します。コマンド install-ssh-key は、既存の鍵を上書きせずに新しい鍵を追加します。これ以降、お使いのサーバーはパスワードなしでログインします。

手動でマウントします。

mkdir -p /storage
sshfs -p 23 -o IdentityFile=/root/.ssh/storage_ed25519,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 u123456@u123456.storage.kernelhost.net: /storage

ホスト名の後ろのコロンは、ストレージ上のホームディレクトリを表します。つまり、SMB の共有で見えるものと同じファイルです。永続的にマウントするには、次の行を /etc/fstab に追加します。

u123456@u123456.storage.kernelhost.net:  /storage  fuse.sshfs  port=23,IdentityFile=/root/.ssh/storage_ed25519,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,allow_other,_netdev,nofail,x-systemd.automount  0  0

allow_other は、ウェブサーバーなど root 以外のユーザーにもアクセスを許可します。reconnect と 2 つの ServerAlive の値は、ネットワークが一瞬途切れても接続を安定して保ちます。その後は先ほどと同じように、systemctl daemon-reload と mount -a を実行します。

Windows:ストレージを暗号化してネットワークドライブ「storage」として接続する

Windows は、ネットワークドライブを標準で SMB によって接続します。ただし、この接続が暗号化されるのは、どちらか一方が暗号化を明示的に要求した場合だけであり、Windows ではそれを当てにできません。インターネットを経由する途中でデータを誰にも読み取られないよう、Windows ではストレージを SFTP、つまり SSH 経由で接続します。そのためには、無料のオープンソースプログラムが 2 つ必要です。WinFsp がファイルシステムを提供し、SSHFS-Win が SFTP をネットワークドライブとしてエクスプローラーに組み込みます。

1. WinFsp と SSHFS-Win をインストールする

「管理者として実行」で PowerShell を開き、次のコマンドを貼り付けます。これらのコマンドは、2 つのインストールパッケージを GitHub からダウンロードし、確認なしでインストールします。

[Net.ServicePointManager]::SecurityProtocol = 'Tls12'
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest https://github.com/winfsp/winfsp/releases/download/v2.1/winfsp-2.1.25156.msi -OutFile "$env:TEMP\winfsp.msi" -UseBasicParsing
Invoke-WebRequest https://github.com/winfsp/sshfs-win/releases/download/v3.5.20357/sshfs-win-3.5.20357-x64.msi -OutFile "$env:TEMP\sshfs-win.msi" -UseBasicParsing
Start-Process msiexec.exe -Wait -ArgumentList "/i `"$env:TEMP\winfsp.msi`" /qn /norestart"
Start-Process msiexec.exe -Wait -ArgumentList "/i `"$env:TEMP\sshfs-win.msi`" /qn /norestart"

お使いのコンピューターで winget が使える場合(Windows 11 など)は、winget install -e --id SSHFS-Win.SSHFS-Win だけでも構いません。その際、WinFsp も自動的にインストールされます。

2. エクスプローラーでドライブを接続する

  1. エクスプローラーを開き、左側で「PC」を選択します。
  2. 「ネットワーク ドライブの割り当て」を選択します。この項目は、Windows 11 と Windows Server 2025 ではツールバーの「…」から開くメニューの中に、Windows 10 と Windows Server 2016 から 2022 では「コンピューター」タブの中にあります。
  3. 「ドライブ」で S: を選び、「フォルダー」に \\sshfs\u123456@u123456.storage.kernelhost.net!23 と入力します。末尾の !23 はポート番号です。これを省くと、SSHFS-Win はポート 22 に接続しようとします。
  4. 「サインイン時に再接続する」はチェックを入れたままにして、「完了」をクリックします。
  5. 表示される資格情報の入力画面でパスワードを入力し、「資格情報を記憶する」にチェックを入れます。
  6. ドライブは最初、技術的な名前で表示されます。これを右クリックして「名前の変更」を選び、storage と入力します。

これで、ストレージは「PC」にドライブ storage として表示され、サインインするたびに自動で、暗号化された状態で接続されます。

PowerShell で接続する

1 つのコマンドを使えば、もっと手早く済みます。このコマンドは、「管理者として実行」で起動したウィンドウではなく、通常の PowerShell ウィンドウで実行してください。管理者特権のセッションで接続したドライブは、エクスプローラーからは見えないためです。実行時に、Windows がパスワードの入力を求めます。

net use S: \\sshfs\u123456@u123456.storage.kernelhost.net!23 * /user:u123456 /persistent:yes

続いて、ドライブ名 storage を次のように設定します。

(New-Object -ComObject Shell.Application).NameSpace('S:').Self.Name = 'storage'

net use はドライブを記憶しますが、パスワードは記憶しません。そのため、再起動後にドライブを初めて開くとき、Windows はもう一度パスワードを求めます。この画面で「資格情報を記憶する」にチェックを入れると、それ以降は確認なしでドライブが接続されます。SSHFS-Win は自身の資格情報の入力画面で入力された資格情報しか受け付けないため、ここでは cmdkey は役に立ちません。

ドライブが SSHFS-Win 経由で接続されているかは、net use で確認できます。S: の行には、ネットワーク名として WinFsp.Np と表示されます。この接続は常に SSH を経由するため、暗号化されています。

Windows で SMB を使うのは暗号化を強制する場合のみ

Windows 11 24H2 と Windows Server 2025 以降では、Windows がすべての外向きの SMB 接続で暗号化を要求できます。その場合に限り、共有 backup を使う従来の方法も安全になります。管理者権限の PowerShell で、暗号化を有効にします。

Set-SmbClientConfiguration -RequireEncryption $true -Confirm:$false

この設定は、そのコンピューターのすべての SMB 接続に適用されます。暗号化に対応していない古い共有をほかにも接続している場合、設定後はそれらにアクセスできなくなります。そのうえで、通常のウィンドウでドライブを接続し、出力に Encrypted : True と表示されるかを確認します。

Test-NetConnection u123456.storage.kernelhost.net -Port 445
cmdkey /add:u123456.storage.kernelhost.net /user:u123456 /pass
net use S: \\u123456.storage.kernelhost.net\backup /persistent:yes
Get-SmbConnection -ServerName u123456.storage.kernelhost.net | Format-List ServerName,ShareName,Dialect,Encrypted

この方法は SSHFS-Win の代わりに使います。S: がすでに SSHFS-Win で接続されている場合は、先に net use S: /delete で切断してください。古いバージョンの Windows では、暗号化を強制できません。その場合は、前述の SSHFS-Win を使ってください。

サービスとタスク スケジューラで使う場合

ドライブ文字は、それを割り当てたユーザーのログオン セッション内でしか有効になりません。そのため、サービス、タスク スケジューラのタスク、多くのバックアッププログラムからは S: が見えません。自動バックアップには、rclone や restic など SFTP に直接対応したプログラムを使い、ホスト u123456.storage.kernelhost.net、ポート 23、ご自身のユーザー名を指定するのが最適です。

よくあるエラーとその原因

メッセージ原因解決策
mount error(13): Permission deniedユーザー名またはパスワードが間違っているか、「Samba / CIFS」がオフになっている認証情報ファイルとスイッチを確認する。パスワードをリセットした場合はファイルも書き換える
mount error(115): Operation now in progressポート 445 に到達できないか、「外部からの到達可能性」がオフになっている前述のポートテストを実行してスイッチを確認するか、SSHFS を使う
mount error(112): Host is downクライアントとストレージの間で、共通の SMB バージョンをネゴシエートできないマウントオプションに vers=3.0 を追加する
mount error(2): No such file or directory共有名が間違っている共有名には常に backup を指定する
bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program.パッケージ cifs-utils がインストールされていない前述の手順でパッケージをインストールする
4 GB 以上のファイルの転送が途中で止まるSMB クライアントのキャッシュマウントオプションに cache=none を追加する
Windows:ネットワーク パスまたはネットワーク名が見つからない(システム エラー 53 または 67)WinFsp または SSHFS-Win がインストールされていない、パスが間違っている、またはポートがブロックされているインストールをやり直し、パス \\sshfs\u123456@u123456.storage.kernelhost.net!23 を確認して、Test-NetConnection を実行する
Windows がパスワードを何度も求めるパスワードが間違っているか、「SSH / SFTP / SCP / rsync」または「外部からの到達可能性」がオフになっている「接続情報」でパスワードを確認し、「アクセス設定」でスイッチをオンにする
Windows(SMB):システム エラー 86 または 1326 が発生しました。資格情報が間違っているcmdkey /delete:u123456.storage.kernelhost.net で削除してから、登録し直す
Windows(SMB):システム エラー 1219 が発生しました。別の資格情報による接続がすでに存在するnet use \\u123456.storage.kernelhost.net\backup /delete を実行してから、接続し直す

接続を解除するには、Linux では umount /storage、Windows では net use S: /delete を実行するだけです。SSHFS-Win 用に保存した資格情報は Windows の資格情報マネージャーの「汎用資格情報」から、SMB 用の資格情報は cmdkey /delete:u123456.storage.kernelhost.net で削除します。

ネットワークドライブかバックアップツールか?

マウントしたドライブは、アップロード、エクスポート、アーカイブなど、プログラムにフォルダーへ直接書き込ませたい場合に最適です。一方、定期的なバックアップには、ポート 23 の SSH 経由で rsync、BorgBackup、restic などのツールを使うほうが、より堅実な選択になることが少なくありません。これらのツールは変更分だけを転送し、中断した処理を途中から再開でき、必要ならお使いのサーバー上で暗号化してから送信できます。こうした仕組みの構築方法は記事 サーバーのバックアップ戦略 で、スケジュールの設定方法は記事 Linux で cron ジョブを設定する で解説しています。

ヒント:「アクセス設定」で「ZFSスナップショットディレクトリ」をオンにすると、Storage Server のスナップショットが読み取り専用のディレクトリ .zfs/snapshot として表示されます。そうすれば、スナップショット全体を戻さなくても、個々のファイルをコピーするだけで復元できます。

セキュリティの要点

  • Linux では必ず seal を付けてマウントするか SSHFS を使い、Windows では SSHFS-Win を使って、データが暗号化されて転送されるようにします。Windows で従来の SMB を使うのは、Windows 11 24H2 または Windows Server 2025 以降で暗号化を強制した場合に限ります。
  • 認証情報ファイル /etc/storage-credentials は root の所有とし、権限を 600 にします。
  • 「アクセス設定」では、使わないものをオフにします。SSHFS と SSHFS-Win しか使わない場合は、「Samba / CIFS」をオフのままにして構いません。
  • SSHFS には、前述のとおりストレージ専用の鍵を使います。SSH 全般の保護方法は、記事 SSH を堅牢化して鍵認証ログインを設定する で解説しています。

よくあるご質問

Storage Server の共有名は何ですか?
SMB の共有名は、どの Storage Server でも backup です。パスは、Windows では \\u123456.storage.kernelhost.net\backup、Linux では //u123456.storage.kernelhost.net/backup になります。u123456 の部分は、カスタマーエリアの「接続情報」に記載されているご自身のユーザー名に置き換えてください。
Storage Server にはどのポートが必要ですか?
SMB によるネットワークドライブにはポート 445 を、SSH、SFTP、SCP、rsync、BorgBackup、SSHFS、SSHFS-Win にはポート 23 を使います。さらに、お使いのサーバーがインターネット経由でストレージに到達できるよう、「アクセス設定」で「外部からの到達可能性」をオンにしておく必要があります。
ストレージへの接続は暗号化されますか?
Linux の SSHFS と Windows の SSHFS-Win は SSH を経由するため、常に暗号化されます。SMB の場合、Linux ではマウントオプション seal によって SMB 3 で暗号化されます。Windows では SMB が確実に暗号化されるとは限らないため、Windows では SSHFS-Win をおすすめします。Windows で従来の SMB を使うのは、Windows 11 24H2 または Windows Server 2025 以降で Set-SmbClientConfiguration -RequireEncryption を設定した場合に限ってください。
再起動するとドライブが消えてしまうのはなぜですか?
Linux では、たいてい /etc/fstab への登録か、ネットワークの準備が整うまでシステムに待機させるオプション _netdev が抜けています。Windows では、接続時に「サインイン時に再接続する」を有効にしておく必要があり、SSHFS-Win では資格情報の入力画面で「資格情報を記憶する」にチェックを入れる必要があります。
net use は成功したのに、エクスプローラーにドライブが表示されないのはなぜですか?
おそらく、管理者権限のウィンドウでコマンドを実行したためです。管理者特権のセッションで接続したドライブは、通常のエクスプローラーには表示されません。通常の PowerShell またはコマンド プロンプトのウィンドウで、ドライブを接続し直してください。
ストレージを複数のサーバーに同時にマウントできますか?
はい、複数のサーバーから同じストレージに同時にアクセスできます。2 つのシステムが同じファイルに同時に書き込まないよう、サーバーごとに専用のフォルダーを作成してください。

Storage Server ネットワークドライブ SMB CIFS SSHFS Linux Windows Server バックアップ