概要
sshfsは、SSH接続を介してリモートサーバーのファイルシステムをローカルディレクトリにマウントし、ローカルファイルのようにアクセスおよび管理できるようにします。これは、リモートサーバーのファイルを頻繁に編集したり、大量のファイルを扱ったりする場合に特に便利です。
主な特徴
- FUSE(Filesystem in Userspace)ベース
- SSHセキュア接続によるデータ転送
- リモートファイルをローカルのように直接アクセスおよび編集可能
- 多様なマウントオプションを提供(権限、キャッシング、圧縮など)
インストール
sshfsはほとんどのLinuxディストリビューションにデフォルトで含まれていないため、パッケージマネージャーを通じてインストールする必要があります。
Debian/Ubuntu
sudo apt update && sudo apt install sshfs
aptパッケージマネージャーを使用してインストールします。
Fedora/CentOS/RHEL
sudo dnf install sshfs
dnf(またはyum)パッケージマネージャーを使用してインストールします。
主なオプション
sshfsは多様なオプションを提供し、マウント動作を細かく制御できます。ほとんどのオプションは`-o`フラグの後ろにカンマ区切りで指定します。
接続と権限
パフォーマンスと動作
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`sshfs` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
sshfsを使用してリモートディレクトリをローカルにマウントし、使用するさまざまな方法です。
基本マウント
mkdir -p /local/mount/point
sshfs user@remote_host:/remote/path /local/mount/point
リモートサーバーの`/remote/path`をローカルの`/local/mount/point`にマウントします。マウントポイントは事前に作成しておく必要があります。
特定のSSHポート使用
sshfs -o port=2222 user@remote_host:/remote/path /local/mount/point
デフォルトの22番ポートではなく、別のポート(例:2222)でSSH接続を試みます。
他のユーザーのアクセス許可
sshfs -o allow_other user@remote_host:/remote/path /local/mount/point
マウントされたファイルシステムに、マウントしたユーザー以外の他のユーザーもアクセスできるように許可します。
SSHキーファイル使用
sshfs -o IdentityFile=~/.ssh/id_rsa user@remote_host:/remote/path /local/mount/point
パスワードの代わりにSSHキーファイルを使用して認証します。
マウント解除
fusermount -u /local/mount/point
マウントされたファイルシステムを解除します。`fusermount`はFUSEファイルシステムを安全に解除するために使用されます。
ヒントと注意点
sshfs使用時の役立つヒントと注意すべき点です。
マウント解除の重要性
作業完了後は必ず`fusermount -u <マウントポイント>`コマンドでマウントを解除してください。そうしないと、システムが不安定になったり、ファイルシステムのエラーが発生したりする可能性があります。
パフォーマンス最適化
ネットワーク遅延が大きい環境では、`cache=yes`オプションを使用してパフォーマンスを改善できます。逆に`compression=yes`はCPU使用量を増やす可能性があるため、ネットワーク帯域幅とCPUリソースのバランスを考慮して使用する必要があります。
権限の問題
`allow_other`オプションは、他のユーザーがマウントされたファイルシステムにアクセスできるように許可します。セキュリティに注意して使用する必要があり、必要に応じて`uid`および`gid`オプションを使用して特定のユーザー/グループの権限でマウントできます。
自動マウント(fstab)
システム起動時にsshfsを自動マウントするには、`/etc/fstab`ファイルを編集できます。ただし、この方法ではSSHキー認証などの追加設定が必要であり、ネットワーク接続状態によっては問題が発生する可能性があるため、注意深く設定する必要があります。