SSH 経由で SSHFS を使用してリモート Linux ファイルシステムまたはディレクトリをマウントする方法
この記事を書く主な目的は、SSH 経由で SSHFS クライアントを使用してリモート Linux ファイル システムをマウントする方法について段階的なガイドを提供することです。
この記事は、何らかの目的でリモート ファイル システムをローカル システムにマウントしたいユーザーやシステム管理者にとって役立ちます。 Linux システムの 1 つにSSHFS クライアントをインストールして実際にテストし、リモート ファイル システムを正常にマウントしました。
さらにインストールを進める前に、SSHFS とその仕組みについて理解しましょう。
SSHFSとは何ですか?
SSHFS は (Secure SHell FileSystem) クライアントの略で、SSH を使用してリモート ファイルシステムをマウントし、ローカル マシン上のリモート ディレクトリやファイルと対話できるようにします。ファイル転送プロトコル (SFTP)。
推奨読書: Linux のリモート サーバーにファイルを転送する 10 の sFTP コマンド例
SFTP は、セキュア シェル プロトコルを介してファイル アクセス、ファイル転送、およびファイル管理機能を提供する安全なファイル転送プロトコルです。なぜなら、SSH はネットワーク上であるコンピュータから別のコンピュータにファイルを転送する際に暗号化を使用し、SSHFS には FUSE (ユーザースペースのファイルシステム) が組み込まれているためです。カーネル モジュールを使用すると、特権のないユーザーがカーネル コードを変更せずにファイル システムを作成できるようになります。
この記事では、Linux ディストリビューションにSSHFS クライアントをインストールして使用し、リモート Linux ファイルシステムまたはディレクトリをローカル Linux マシンにマウントする方法を説明します。
ステップ 1: Linux システムに SSHFS クライアントをインストールする
デフォルトでは、sshfs パッケージはすべての主要な Linux ディストリビューションに存在するわけではありません。依存関係のある Yum コマンドを使用して sshfs をインストールするには、Linux システムで epel リポジトリを有効にする必要があります。
yum install sshfs
dnf install sshfs [On Fedora 22+ releases]
sudo apt-get install sshfs [On Debian/Ubuntu based systems]
ステップ 2: SSHFS マウント ディレクトリの作成
sshfs パッケージをインストールしたら、リモート ファイル システムをマウントするマウント ポイント ディレクトリを作成する必要があります。たとえば、/mnt/tecmint
の下にマウント ディレクトリを作成しました。
mkdir /mnt/tecmint
sudo mkdir /mnt/tecmint [On Debian/Ubuntu based systems]
ステップ 3: SSHFS を使用したリモート ファイルシステムのマウント
マウント ポイント ディレクトリを作成したら、root ユーザーとして次のコマンドを実行して、リモート ファイル システムを /mnt/tecmint
にマウントします。 。あなたの場合、マウントディレクトリは何でも構いません。
次のコマンドは、ローカル システムの /mnt/tecmint
の下に /home/tecmint
というリモート ディレクトリをマウントします。 (x.x.x.x を IP アドレスとマウント ポイントに置き換えることを忘れないでください)。
sshfs [email :/home/tecmint/ /mnt/tecmint
sudo sshfs -o allow_other [email :/home/tecmint/ /mnt/tecmint [On Debian/Ubuntu based systems]
Linux サーバーが SSH キーベースの認証を使用して構成されている場合は、次のコマンドに示すように公開キーへのパスを指定する必要があります。
sshfs -o IdentityFile=~/.ssh/id_rsa [email :/home/tecmint/ /mnt/tecmint
sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa [email :/home/tecmint/ /mnt/tecmint [On Debian/Ubuntu based systems]
ステップ 4: リモート ファイルシステムがマウントされていることを確認する
上記のコマンドがエラーなく正常に実行されると、/mnt/tecmint
にマウントされたリモート ファイルとディレクトリのリストが表示されます。
cd /mnt/tecmint
ls
[root@ tecmint]# ls
12345.jpg ffmpeg-php-0.6.0.tbz2 Linux news-closeup.xsl s3.jpg
cmslogs gmd-latest.sql.tar.bz2 Malware newsletter1.html sshdallow
epel-release-6-5.noarch.rpm json-1.2.1 movies_list.php pollbeta.sql
ffmpeg-php-0.6.0 json-1.2.1.tgz my_next_artical_v2.php pollbeta.tar.bz2
ステップ 5: df -hT コマンドを使用してマウント ポイントを確認する
df -hT コマンドを実行すると、リモート ファイル システムのマウント ポイントが表示されます。
df -hT
サンプル出力
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 730M 0 730M 0% /dev
tmpfs tmpfs 150M 4.9M 145M 4% /run
/dev/sda1 ext4 31G 5.5G 24G 19% /
tmpfs tmpfs 749M 216K 748M 1% /dev/shm
tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs tmpfs 749M 0 749M 0% /sys/fs/cgroup
tmpfs tmpfs 150M 44K 150M 1% /run/user/1000
[email :/home/tecmint fuse.sshfs 324G 55G 253G 18% /mnt/tecmint
推奨読書: Linux でディスク容量を確認するための 12 の便利な「df 」コマンド
ステップ 6: リモート ファイルシステムを永続的にマウントする
リモート ファイルシステムを永続的にマウントするには、/etc/fstab
というファイルを編集する必要があります。これを行うには、お気に入りのエディタでファイルを開きます。
vi /etc/fstab
sudo vi /etc/fstab [On Debian/Ubuntu based systems]
ファイルの最後に移動して次の行を追加し、ファイルを保存して終了します。以下のエントリは、デフォルト設定でリモート サーバー ファイル システムをマウントします。
sshfs#[email :/home/tecmint/ /mnt/tecmint fuse.sshfs defaults 0 0
システムの再起動中にファイルシステムを自動マウントするために、サーバー間に SSH パスワードレス ログインが設定されていることを確認してください。
サーバーが SSH キーベースの認証を使用して構成されている場合は、次の行を追加します。
sshfs#[email :/home/tecmint/ /mnt/tecmint fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0
次に、fstab ファイルを更新して変更を反映する必要があります。
mount -a
sudo mount -a [On Debian/Ubuntu based systems]
ステップ 7: リモート ファイルシステムのアンマウント
リモート ファイル システムをアンマウントするには、次のコマンドを発行します。これにより、リモート ファイル システムがアンマウントされます。
umount /mnt/tecmint
現時点ではこれですべてです。リモート ファイル システムのマウントで問題が発生した場合、またはサポートが必要な場合は、コメントを通じてご連絡ください。この記事が非常に役立つと思われる場合は、お友達と共有してください。