Linux で SFTP サーバーをマウントする — NetDrive 設定ガイド

読了目安 8 分 provider-guide sftp linux
Casey
CaseyProduct Manager
NetDrive の実験的な Linux ビルドを使い、任意の SFTP サーバーを通常の Ubuntu マウントポイントとしてマウントする方法。GitHub からのインストールから鍵認証まで解説。

Ubuntu で動く開発機がステージングサーバーから設定ファイルを読み込む必要がある、あるいはビルドスクリプトがリリース成果物を SSH 経由でデプロイホストに直接書き込みたい——そんなとき、リモートパスに触れるすべてのスクリプトに scp ループを組み込む必要はありません。NetDrive の Linux ビルドは、Windows や macOS で提供しているのと同じ接続方式で SFTP サーバーを通常のマウントポイントとしてマウントします。これにより /mnt/deploy-host/releases/ は、cpcat、あるいはファイルを開く Python スクリプトにとって、他のディレクトリと変わらないものとして振る舞います。

NetDrive drive manager showing Google Drive, S3 and pCloud mounted as drive lettersMounted clouds appearing as native drives in Windows File Explorer

Ubuntu で SFTP サーバーをマウントする

NetDrive を使えば Google Drive、OneDrive、S3、SFTP、WebDAV などが Windows と macOS でネイティブドライブとして表示されます — 同期も、まるごとダウンロードも不要です。

  • Ubuntu 16.04 以降で動作
  • パスワードまたは SSH 鍵認証に対応、シンボリックリンクも含む
  • 通常のマウントポイントで読み書き可能 — scp ラッパースクリプト不要
WindowsmacOS
Linux 版 NetDrive をダウンロード →

無料トライアル。永久ライセンスとサブスクリプションプランあり。

scp や rsync をスクリプト化する代わりにマウントする理由

scprsync は単発の転送には十分ですが、どちらもプログラムがそのまま指せるパスを与えてはくれません。ログを追いかけるスクリプトやテキストエディタ、あるいはローカルらしきパスに対して open() を期待するデプロイツールは、どちらのコマンドとも相性が悪く、いったんファイルをダウンロードして編集し、また上げ直す——しかもその順序を毎回正しく守る——必要が出てきます。NetDrive で SFTP サーバーをマウントすれば、その往復は不要になります。マウントポイントはサーバーに対して直接読み書きを解決するため、cat /mnt/staging/nginx.conf を実行するスクリプトは、1 時間前の古いローカルコピーではなく、生きたファイルを取得します。

シンボリックリンクのサポートは NetDrive 3.17.817 で導入されました。ここで特に重要なのは、Linux のホームディレクトリや /var/www のレイアウトが常にシンボリックリンクに頼っているという点で、これらはマウント経由でも壊れたリンクとして表示されることなく正しく解決されます。

NetDrive がクラウドストレージアカウントをローカルドライブとしてマウントする様子 — Linux ビルドがマウントポイントで提供するのと同じ中核的な動作

Ubuntu への NetDrive のインストール

Linux 版 NetDrive は Ubuntu の標準パッケージリポジトリには存在しないため、インストールは apt ではなく GitHub 経由で行います。

  1. github.com/NetDrive/installer にアクセスし、お使いの Ubuntu バージョンに合ったリリースをダウンロードします。
  2. インストーラーリポジトリのそのバージョンのリリースノートに従います — NetDrive が何かをマウントできるようになる前に、ドライバコンポーネントをインストールする必要があります。
  3. NetDrive パッケージ本体をインストールします。
  4. NetDrive を起動します。初回起動時にドライバコンポーネントが読み込まれ、システムの権限設定によっては sudo の入力を求められることがあります。

更新は apt upgrade ではなく GitHub リリースとして配布されるため、新しいバージョンの確認は手動作業になります — この機体を扱うランブックにその一行を加えておく価値があります。Linux 版 NetDrive がサポートする最小バージョンは Ubuntu 16.04 で、ここでのサポートは NetDrive の比較ページが Linux 全般に付けているのと同じ 実験的(experimental) ラベルの扱いです — Windows と macOS がテストの大部分を占めているため、無人運用で依存させる前に、お使いのディストリビューションとワークロードで必ず検証してください。

ステップバイステップ: Ubuntu で SFTP サーバーに接続する

  1. NetDrive の Drive Manager を開き+ Add Drive をクリックします。
  2. 接続タイプの一覧から Select SFTP を選びます。

安全なファイル転送を示す NetDrive の SFTP プロバイダーロゴ

  1. サーバーアドレスを入力します — ホスト名(deploy.example.com)または IP アドレスを指定し、port を設定します。SFTP のデフォルトは 22 ですが、厳格に構成されたサーバーの中には非標準ポートで動いているものもあります。
  2. 認証を設定します。
    • パスワード: ユーザー名とパスワードを直接入力します。
    • SSH 鍵: NetDrive に秘密鍵ファイルを指定します。OpenSSH 形式(id_rsa)と PuTTY の .ppk ファイルの両方に対応しています。
  3. マウントポイントを設定します — /mnt/deploy-host のようなパス、または書き込み権限を持つ任意の空ディレクトリです。
  4. Click Connect. NetDrive が認証を行い、そのパスにサーバーをマウントします。

サーバーが認証情報なしの匿名 SFTP を許可している場合、NetDrive はバージョン 3.7.687 以降、認証情報を省略した接続をサポートしています — ユーザー名とパスワードの欄は空のままにしてください。

接続を信頼する前に確認する

GUI だけを信用せず、ターミナルからマウントが実際に成立しているかを確認しましょう。実験的なビルドではとりわけ良い習慣であり、スクリプトをそのパスに依存させる前にやっておく価値があります。

# Confirm the mount is listed
mount | grep deploy-host

# Or just try listing it
ls /mnt/deploy-host

ここまで来る前に接続が失敗した場合は、まず到達性を確認してください — 誤ったホスト名やブロックされたポートが、SFTP 接続失敗のほとんどの原因になります。

# Basic reachability
ping deploy.example.com

# Is the SFTP port actually open?
nc -zv deploy.example.com 22

IP の到達性を示すネットワーク接続確認

SFTP ポート 22 の到達性確認

nc -zv が成功すれば、ポートは開いており、残る問題があるとすればネットワーク経路ではなく認証情報かサーバー側の権限にあることになります。

Linux ビルドで見込んでおくべきこと

  • リリースサイクルが別立て — Linux ドライバコンポーネントは独自のスケジュールで保守されているため、Windows や macOS の修正が同じ週に Linux へ自動的に反映されるわけではありません。
  • パッケージマネージャ統合なし — 現時点では GitHub リリースのみで、PPA や Snap はありません。
  • 推奨される主要プラットフォーム — NetDrive 自身のガイダンスでは、Windows と macOS が十分にテストされた本番運用向けのターゲットとされています。Linux は開発機や CI ランナー、ホームサーバーの補助用途にはよく合いますが、自分でテストせずに無人運用の本番パイプラインを賭けられる段階にはまだありません。

まとめ

Ubuntu で SFTP をマウントすれば、NetDrive が Windows や macOS で提供しているのと同じドライブ感覚のアクセス——どんなツールでも読み書きできる通常のパス——を、apt ではなく GitHub 上のインストーラーを通じて得られます。Linux 全体についてより広く知りたい場合は NetDrive on Ubuntu Linux を、より広くテストされたプラットフォームでの同じ接続方式については Mount an SFTP Server on Windows — NetDrive Setup Guide をご覧ください。

— Casey, NetDrive