序章


多くの場合、ドロップレットとの間でファイルを転送するのは面倒になる可能性があります。 アプリをリモートでコーディングしていて、テストのためにスクリプトを仮想サーバーに繰り返しアップロードしている開発使用シナリオを想像してみてください。 これは、非常に短い期間で非常に面倒になる可能性があります。 幸い、VPSファイルシステムをローカルコンピューターにマウントして、その場で変更を加え、ドロップレットをローカルストレージとして扱う方法があります。 この記事では、まさにそれを行う方法を紹介します。

SSHFSのインストール


Ubuntu/Debianの場合


SSHFSはLinuxベースのソフトウェアであり、ローカルコンピューターにインストールする必要があります。 UbuntuおよびDebianベースのシステムでは、apt-getを介してインストールできます。

sudo apt-get install sshfs

MacOSXの場合


SSHFSはMacOSXにインストールできます。 osxfuseサイトからFUSEとSSHFSをダウンロードする必要があります

Windowsの場合


WindowsにSSHFSをインストールするには、Googleコードリポジトリから最新のwin-sshfsパッケージを取得する必要があります。 直接ダウンロードリンクは以下にあります。 パッケージをダウンロードしたら、ダブルクリックしてインストーラーを起動します。 追加のファイルをダウンロードするように求められる場合があります。その場合、インストーラーは.NETFramework4.0をダウンロードしてインストールします。

https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/win-sshfs/win-sshfs-0.0.1.5-setup.exe

リモートファイルシステムのマウント


次の手順は、Ubuntu/DebianとOSXの両方で機能します。 Windowsシステムの手順は、チュートリアルの下部にあります。

開始するには、ドロップレットのファイルシステムをマウントするためのローカルディレクトリを作成する必要があります。

sudo mkdir /mnt/droplet <--replace "droplet" whatever you prefer

これで、sshfsを使用して、次のコマンドでファイルシステムをローカルにマウントできます。 VPSがパスワードログインで作成された場合、次のコマンドでうまくいきます。 この手順では、仮想サーバーのrootパスワードの入力を求められます。

sudo sshfs -o allow_other,default_permissions [email protected]:/ /mnt/droplet

ドロップレットがsshキー認証を介してログインするように構成されている場合は、次のコマンドで公開キーを使用するようにsshfsに指示する必要があります。 ssh-keygenを使用してキーを作成するときに使用したパスフレーズを入力するように求められます。

sudo sshfs -o allow_other,default_permissions,IdentityFile=~/.ssh/id_rsa [email protected]:/ /mnt/droplet

rootユーザーの下にSSHキーが保存されていない場合は、次のように秘密SSHキーへのフルパスを指定する必要があります。

sudo sshfs -o allow_other,default_permissions,IdentityFile=/home/your_user/.ssh/id_rsa [email protected]:/ /mnt/droplet

your_userの部分は、必ず実際のユーザーに変更してください。

これで、ローカルマシンに接続された物理デバイスであるかのように、ドロップレット上のファイルを操作できます。 たとえば、ローカルマシンの/ mnt / dropletディレクトリに移動すると、ローカルでファイルを作成でき、そのファイルが仮想サーバーに表示されます。 同様に、ファイルを/ mnt / dropletフォルダーにコピーすると、バックグラウンドでドロップレットにアップロードされます。

このプロセスは、液滴への一時的なマウントポイントのみを提供することに注意することが重要です。 仮想サーバーまたはローカルマシンの電源をオフにするか再起動した場合は、同じプロセスを使用して再度マウントする必要があります。

リモートファイルシステムのアンマウント


マウントポイントが不要になったら、コマンドを使用してマウントを解除できます。

sudo umount /mnt/droplet

リモートファイルシステムの永続的なマウント


SSHFSでは、リモートファイルシステムへの永続的なマウントポイントを設定することもできます。 これにより、ローカルマシンとドロップレットの両方を再起動しても持続するマウントポイントが設定されます。 永続的なマウントポイントを設定するには、ローカルマシンで/etc/fstabファイルを編集して、システムが起動するたびにファイルシステムを自動的にマウントする必要があります。

まず、/etc/fstabファイルをテキストエディタで編集する必要があります。

sudo nano /etc/fstab

ファイルの一番下までスクロールして、次のエントリを追加します

sshfs#[email protected]:/ /mnt/droplet

変更を/etc/fstabに保存し、必要に応じて再起動します。

VPSファイルシステムをローカルに永続的にマウントすることは、潜在的なセキュリティリスクであることに注意してください。 ローカルマシンが危険にさらされた場合、それはあなたの液滴への直接ルートを可能にします。 したがって、実稼働サーバーに永続マウントをセットアップすることはお勧めしません。

Win-SSHFSを使用してWindowsにリモートファイルシステムをマウントする


win-sshfsプログラムを起動すると、リモートファイル共有をマウントするプロセスを簡単にするためのグラフィカルインターフェイスが表示されます。

  • ステップ1:ウィンドウの左下隅にある[追加]ボタンをクリックします。

  • 手順2:[ドライブ名]フィールドにファイル共有の名前を入力します。

  • ステップ3。 [ホスト]フィールドにドロップレットのIPを入力します。

  • ステップ4。 SSHポートを入力します。 (SSHポートを手動で変更していない限り、ポート22のままにしておきます)。

  • ステップ5。 [ユーザー名]フィールドにユーザー名を入力します。 (ユーザーアカウントを手動で設定していない限り、このフィールドにrootと入力します)。

  • ステップ6。 パスワードフィールドにSSHパスワードを入力します。 (Windowsでは、ssh-key-authenticationではなくパスワードログイン用にドロップレットを構成する必要があることに注意してください)。

  • ステップ7。 [ディレクトリ]フィールドに目的のマウントポイントを入力します。 (/と入力して、ルートからファイルシステムをマウントします。 同様に、ホームディレクトリに/var/wwwまたは~/と入力できます。

  • ステップ8。 Windowsでドロップレットファイルシステムに使用するドライブ文字を選択します。

  • ステップ9。 [マウント]ボタンをクリックしてドロップレットに接続し、ファイルシステムをマウントします。

これで、仮想サーバーのファイルシステムが、手順8で選択したドライブ文字としてマイコンピューターから利用できるようになります。

リモートマウントポイントの使用


リモートマウントは、ローカルにマウントされたストレージと同様に動作します。ドロップレットで実行できるファイルシステム操作を作成、コピー、移動、編集、圧縮、または実行できますが、プログラムやスクリプトを起動することはできません。リモートサーバー。

これの典型的な使用法の1つは、VPSでWebサイトをホストしていて、定期的にWebサイトに変更を加える必要がある場合です。 ファイルシステムをローカルにマウントすると、サイトを編集したいコードエディタ、IDE、またはテキストエディタを起動できます。加えた変更は、ローカルマシンで行われるとすぐに、仮想サーバーに反映されます。

同様に、コーディングプロジェクトのテスト目的で使用されるドロップレットでは、コードをローカルおよびリモートで変更することなく、すぐにテストできるはるかに簡単なコード変更が可能になります(また、小さなコード用にファイルの新しいコピーをアップロードする手間が省けます)変更)。