アンドロイド

sshfsを使用してssh経由でリモートディレクトリをマウントする方法

目次:

Anonim

SSHFS(SSH Filesystem)は、SUSE接続を介してリモートディレクトリをマウントするためのFUSEに基づくファイルシステムクライアントです。 SSHFSは、SFTPのサブシステムであるSFTPプロトコルを使用しており、ほとんどのSSHサーバーでデフォルトで有効になっています。

NFSやSambaなどの他のネットワークファイルシステムプロトコルと比較した場合、SSHFSの利点は、サーバー側で追加の構成を必要としないことです。 SSHFSを使用するには、リモートサーバーへのSSHアクセスのみが必要です。

SSHFSはSFTPを使用するため、サーバーとクライアント間で送信されるデータはすべて暗号化および復号化する必要があります。 これにより、NFSと比較してパフォーマンスがわずかに低下し、クライアントとサーバーのCPU使用率が高くなります。

このチュートリアルでは、Linux、macOS、およびWindowsにSSHFSクライアントをインストールする方法と、リモートディレクトリをマウントする方法を示します。

SSHFSのインストール

SSHFSパッケージはすべての主要なオペレーティングシステムで利用でき、インストールは非常に簡単です。

UbuntuおよびDebianにSSHFSをインストールする

SSHFSは、デフォルトのUbuntuおよびDebianリポジトリから入手できます。 次を入力して、パッケージインデックスを更新し、sshfsクライアントをインストールします。

sudo apt update sudo apt install sshfs

CentOSにSSHFSをインストールする

CentOSおよびその他のRed Hat派生製品では、次のコマンドを実行してsshfsをインストールします。

sudo yum install sshfs

macOSにSSHFSをインストールする

macOSユーザーは、osxfuseサイトからHomebrew経由でFUSEおよびSSHFSパッケージをダウンロードすることにより、SSHFSクライアントをインストールできます。

brew cask install osxfuse brew install sshfs

WindowsでのSSHFSのインストール

Windowsユーザーは、WinFspとSSHFS-Winの2つのパッケージをインストールする必要があります。

  • WinFsp.SSHFS-Win。

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

次の手順は、すべてのLinuxディストリビューションとmacOSに適用されます。

リモートディレクトリをマウントするには、SSHユーザーがアクセスできる必要があります。 SSHFSマウントコマンドの形式は次のとおりです。

sshfs host: mountpoint

sshfsコマンドは、SSH構成ファイルを読み取り、ホストごとの設定を使用します。 リモートディレクトリが指定されていない場合、リモートユーザーのホームディレクトリがデフォルトになります。

たとえば、「192.168.121.121」のIPアドレスを持つリモートホストに「linuxize」という名前のユーザーのホームディレクトリをマウントするには、最初にマウントポイントとして機能するディレクトリを作成します。

mkdir ~/linuxizeremote

次に、sshfsコマンドを使用して、リモートディレクトリをマウントします。

sshfs [email protected]:/home/linuxize /home/linuxize/linuxizeremote

ユーザーパスワードの入力を求められます。 リモートディレクトリをマウントするたびにパスワードを入力しないようにするには、SSHキーを生成し、パスワードなしのSSHログインをセットアップします。

これで、ローカルファイルを操作するのと同じ方法で、リモートサーバーにあるディレクトリとファイルを操作できます。 たとえば、新しいファイルとディレクトリを編集、削除、名前変更、または作成できます。

リモートディレクトリを永続的にマウントする場合は、ローカルマシンの /etc/fstab ファイルを編集して、新しいマウントエントリを追加する必要があります。 これにより、システムの起動時に、リモートディレクトリが自動的にマウントされます。

/etc/fstab からSSHFSを介してリモートディレクトリをマウントするには、ファイルシステムタイプとして fuse.sshfs を使用します。

/ etc / fstab

user@host:/remote/dir /local/mountpoint fuse.sshfs defaults 0 0

永続的なマウントを作成するときは、SSHキーベースの認証を使用してリモートホストに接続できることを確認してください。

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

Windowsユーザーは、Windowsエクスプローラーを使用して、ネットワークドライブをSSHサーバーのリモートディレクトリにマップできます。

Windowsエクスプローラを開き、「このPC」を右クリックして、「ネットワークドライブの割り当て」を選択します。 マウントするドライブを選択し、[フォルダ]フィールドに次の形式でリモートユーザー、サーバー、およびパスを入力します。

\\sshfs\user@host

この記事を書いている時点では、SSHFS-Winはキーベースの認証をサポートしていないため、パスワードベースの認証を受け入れるようにリモートsshサーバーを構成する必要があります。

詳細については、SSHFS-Winのマニュアルを参照してください。

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

マウントされたファイルシステムをデタッチするには、 umount または fusermount コマンドを使用し、その後にマウントされたディレクトリ(マウントポイント)を続けます。

fusermount -u /local/mountpoint

umount /local/mountpoint

結論

このガイドでは、SSHFSを使用してSSH経由でリモートディレクトリをマウントする方法を学びました。 これは、ローカルマシンアプリケーションを使用してリモートファイルと対話する場合に役立ちます。

sshfsオプションの完全なリストについては、ターミナルで man sshfs してください。

また、SFTP Chroot Jail環境をセットアップし、デフォルトのSSHポートを変更してサーバーに追加のセキュリティレイヤーを追加することにより、ホームディレクトリへのユーザーアクセスを制限することもできます。

ssh sftpマウントターミナル