GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS/RHEL/Ubuntu に SSHFS をインストールする方法

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


Cent OS
  1. CentOS 8 /RHEL8にIcinga2をインストールする方法

  2. CentOS 7 / RHEL 7 / Ubuntu 18.04 / 16.04&Debian9にAnsibleをインストールする方法

  3. CentOS 7 /RHEL7およびUbuntu18.04/Ubuntu16.04にRedisをインストールする方法

  1. RHEL 8 /CentOS8にphpMyAdminをインストールする方法

  2. RHEL 8 /CentOS8にP7Zipをインストールする方法

  3. RHEL 8 /CentOS8にntfs-3gをインストールする方法

  1. PHP-mbstringをRHEL8/CentOS8にインストールする方法

  2. RHEL 8 /CentOS8にphantomjsをインストールする方法

  3. DropboxをRHEL8/CentOS8にインストールする方法