SSHFSを使ってLinuxでリモートディレクトリをマウントする方法

ファイルを2つのデバイス間で同期するためのソリューションは確かに不足していません。Google DriveやMicrosoft OneDriveは公式のLinuxクライアントを提供していないかもしれませんが、NextCloudやその他のサービスは提供しています。しかし、大企業にファイルを保存することを信頼しないかもしれません。または、NextCloudが提供するよりも多くのセキュリティを望むかもしれません。NextCloudのようなものを構築するために必要なすべてのコンポーネントを考えると、よりシンプルなソリューションよりも未発見のセキュリティホールが多い可能性があります。
なぜSSHFSを使うのか?
エンドユーザーの視点から見ると、これは非常に使いやすく、クリーンでシンプルです。また、戦闘経験豊富で実績のあるOpenSSHサーバーに依存しているため、非常に安全です。暗号化も最高レベルであるため、転送中に誰もあなたのファイルを盗むことはできません。正しく構成された最新のサーバーは、SSH接続のみをリッスンするため、最も熟練した攻撃者(NSAやセキュリティ専門家など)を除いて、通常は破られることはありません。そして、彼らはおそらくあなたのファイルを欲しがっていません。
SSHFSを使用したくない理由
可能な限り最高の転送速度を求める場合は、NFSなどの他のソリューションを使用した方が良いかもしれません。SSHFSは、インターネット接続が高品質であれば最も遅いわけではありませんが、最速でもありません。また、何百もの小さなファイルを含むディレクトリを転送したい場合、それはひどいことになります。また、個々のユーザーや他の要因に基づいてファイル共有設定を微調整したい場合は、他のソフトウェアを使用した方が良いかもしれません。
要約すると、リモートディレクトリをローカルディレクトリと簡単かつ安全に同期する方法が必要で、急いでいない場合は、このソリューションに満足するでしょう。
SSHFSのインストール
Arch Linuxベースのインストールでは、次のコマンドを使用します:
sudo pacman -SsshfsFedoraベースのディストリビューションでは、次のコマンドを使用します:
sudo dnf installsshfsDebian、Ubuntuおよびそのファミリーでは、次のコマンドを使用します:
sudo apt installsshfsOpenSUSEを使用している方は、次のコマンドを入力します:
sudo zypper installsshfsサーバーの設定
サーバーまたはVPSをレンタルしている場合、OpenSSHサーバーデーモンはすでに構成されています。クラウドサービスプロバイダーが推奨する手順に従って、通常のユーザー(root以外)を構成してください。一部のプロバイダーは、ウェブコントロールパネルから直接これを行うことを許可し、SSHアクセスを許可するために公開鍵をインポートすることさえできます。この場合、ssh-keygenコマンドを使用してローカルで鍵ペアを生成します。その後、/home/your_username/.ssh/id_rsa.pubから公開鍵をインポートします。
クラウドプロバイダーがSSH公開鍵を簡単にインポートするためのツールを提供していない場合は、手動で行います。少なくとも、rootログインを禁止し、パスワードログインを無効にしてください。SSHキーのみを使用してください:パスワードのようにブルートフォース攻撃は不可能です。
自宅の2台のコンピュータ間でファイルを同期したい場合は、1台をサーバー(openssh-serverパッケージをインストールして構成)として扱い、もう1台をクライアントとして扱います。同じ手順が適用されます。
SSHFSを使用してリモートディレクトリをローカルにマウント
まず、リモート側と同期されるディレクトリを作成します。
mkdir$HOME/sshfs次に、SSHFSを介してリモートディレクトリをローカルにマウントします。「user」をサーバー上で作成した実際のユーザー名に、「203.0.113.1」をリモートインスタンスの実際のIPアドレスに置き換えます。
sshfs [email protected]:/home/user $HOME/sshfsもちろん、サーバー側のユーザーのホームディレクトリ全体を同期したくない場合は、サーバー上で作成した後に「/home/user」を「/home/user/some_other_directory」に置き換えるだけです。
アンマウントしたい場合は、このコマンドを使用します:
cd&& fusermount -u$HOME/sshfs結論
リモート側に永続的に同期するディレクトリが必要な場合は、sshfs [email protected]:/home/user $HOME/sshfsのようなコマンドを自動起動マネージャに追加します。各グラフィカルマネージャには異なる自動起動設定マネージャがあるため、デスクトップ環境のヘルプマニュアルを参照してください。一部の情報源は「/etc/fstab」にエントリを追加することを推奨していますが、ディレクトリのマウントに失敗するとシステムが完全に起動しなくなる可能性があるため、それは避けることをお勧めします。
これがすべてのニーズをカバーしていることを願っています。しかし、そうでない場合は、オンラインSSHFSマニュアルでコマンドラインオプションについてさらに読むことができます。