SSHFS とは
ネットワーク経由でディレクトリを共有するには、いくつかの方法があります。企業設定では、Network Filesystem (NFS)、Samba、およびさまざまな分散ファイルシステムを見つけることができます。 SSHFS は企業ではあまり使用されていませんが、それでも便利です。その優れた点は、NFS や Samba とは異なり、すべてのネットワーク トラフィックがデフォルトで暗号化されることです。また、SSHFS クライアント プログラムをインストールしてローカル マウント ポイント ディレクトリを作成する以外は、既に行った設定以外は必要ありません。
SSHFS の機能
- FUSE (Linux に最適なユーザー空間ファイルシステム フレームワーク) に基づく
- マルチスレッド:複数のリクエストがサーバーに送信される可能性があります
- 大量の読み取りを許可する (最大 64k)
- ディレクトリの内容をキャッシュする
要件
前述したように、SSHFS を構成するために多くのセットアップは必要ありません。要件のリストは次のとおりです。
- 2 つの Centos または Ubuntu サーバー
- サーバーでの SSH キー認証
ステップ 1:IPTables と Selinux を停止し、サーバーの日時とサーバーの SSH 認証を更新します。
iptables サービスを停止し、起動時の自動開始を無効にするには:
# service iptables stop # chkconfig iptables off
SELinux を無効にするには、/etc/sysconfig/selinux でパラメータ「SELINUX=disabled」を作成します。 ファイル。
# vi /etc/sysconfig/selinux ... SELINUX=disabled ###(Change enabled to disabled)
ssh キーを生成し、パスワードなしの ssh を構成する
サーバー 1:
# ssh-keygen -t rsa (Enter 3 Times) # ssh-keygen -t dsa (Enter 3 Times) # cd /root/.ssh # cat id_rsa.pub >>authorized_keys # cat id_dsa.pub >>authorized_keys
サーバー 2:
# ssh-keygen -t rsa (Enter 3 Times) # ssh-keygen -t dsa (Enter 3 Times) # cd /root/.ssh # cat id_rsa.pub >>authorized_keys # cat id_dsa.pub >>authorized_keys
次に、両方のサーバーでauthorized_keysファイルを開き、サーバー1のキーをサーバー2のauthorized_keysファイルに貼り付けます.
NTP サービスを再起動します
両方のサーバーで ntp サービスを再起動し、サーバーを再起動します。
# service ntpd restart # ntpdate pool.ntp.org # chkconfig ntpd on # init 6
ステップ 2:FUSE-SSHFS をインストールする
CentOS/RHEL ユーザーの場合、Fuse SSHFS は epel リポジトリで利用できるため、システムに epel リポジトリがインストールされていることを確認してください。次のコマンドを実行してインストールしてください。
CentOS/RHEL の場合:
# yum -y install epel-release # yum install -y fuse-sshfs
Ubuntu と Dabian の場合:
$ sudo apt-get update $ sudo apt-get install sshfs
ステップ 3:リモート ディレクトリをマウントする
sshfs を使用してリモート サーバー ディレクトリをマウントします。リモート システムで、システムからの適切な ssh 接続を備えた ssh サーバーが実行されていることを確認します。最初にマウント ポイントを作成します:
# mkdir /mntssh
リモートディレクトリをマウントしましょう。この例では、/home/remoteuser ディレクトリを x.x.x.x (remote.example.com) システムからローカル システムにマウントしています。
# sshfs [email protected]:/home/remoteuser /mntssh
出力例:
The authenticity of host 'remote.example.com (x.x.x.x)' can't be established. RSA key fingerprint is 77:85:9e:ff:de:2a:ef:49:68:09:9b:dc:f0:f3:09:07. Are you sure you want to continue connecting (yes/no)? yes [email protected]'s password: yes
ステップ 4:マウントを確認する
リモート ファイルシステムをローカル マウント ポイントにマウントした後、mount コマンドを実行して検証します。
# mount /dev/mapper/vg_svr1-lv_root on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw) /dev/sda1 on /boot type ext4 (rw) [email protected]:/home/remoteuser on /mntssh type fuse.sshfs (rw,nosuid,nodev)
また、マウント ポイントに移動すると、そこにリモート システムからのファイルが表示されます
# cd /mntssh # ls
ステップ 5:システム起動時にディレクトリをマウントする
システムが再起動するたびにリモート ファイルシステムを自動的にマウントする場合は、次のエントリを /etc/fstab ファイルに追加します。リモート システムとローカル システムの間に鍵ベースの ssh セットアップがあることを確認してください。
# vi /etc/fstab [email protected]:/home/remoteuser /mntssh fuse.sshfs defaults 0 0
ステップ 6:ディレクトリのアンマウント
作業が終了し、マウント ポイントが不要になった場合は、次のコマンドを使用してアンマウントします。
# umount /mntssh