Was ist SSHFS
Es gibt mehrere Möglichkeiten, ein Verzeichnis in einem Netzwerk freizugeben. In den Unternehmenseinstellungen finden Sie das Network Filesystem (NFS), Samba und verschiedene verteilte Dateisysteme. SSHFS wird in Unternehmen nicht so häufig verwendet, kann sich aber dennoch als nützlich erweisen. Das Schöne daran ist, dass der gesamte Netzwerkverkehr standardmäßig verschlüsselt wird, anders als bei NFS oder Samba. Und abgesehen von der Installation des SSHFS-Client-Programms und der Erstellung eines lokalen Mount-Point-Verzeichnisses ist keine weitere Konfiguration erforderlich, die über das hinausgeht, was Sie bereits getan haben.
Funktionen von SSHFS
- Basierend auf FUSE (Bestes Userspace-Dateisystem-Framework für Linux)
- Multithreading:Es kann mehr als eine Anfrage auf dem Weg zum Server sein
- Große Lesevorgänge zulassen (max. 64 KB)
- Zwischenspeichern von Verzeichnisinhalten
Anforderung
Wie bereits erwähnt, benötigen Sie keine große Einrichtung, um SSHFS zu konfigurieren. Hier ist die Liste der Anforderungen.
- 2 Centos oder Ubuntu Server
- SSH-Schlüsselauthentifizierung auf den Servern
Schritt 1:Stoppen Sie IPTables und Selinux und aktualisieren Sie Datum und Uhrzeit auf den Servern und die SSH-Authentifizierung auf den Servern.
So beenden Sie den iptables-Dienst und deaktivieren den Autostart beim Booten:
# service iptables stop # chkconfig iptables off
Um SELinux zu deaktivieren, machen Sie den Parameter „SELINUX=disabled“ in /etc/sysconfig/selinux Datei.
# vi /etc/sysconfig/selinux ... SELINUX=disabled ###(Change enabled to disabled)
Generieren Sie die SSH-Schlüssel und konfigurieren Sie passwortloses SSH
Auf Server 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
Auf Server 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
Öffnen Sie nun die Datei „authorized_keys“ auf beiden Servern und fügen Sie den Schlüssel von Server 1 in die Datei „authorized_keys“ von Server 2 ein und umgekehrt.
Starten Sie den NTP-Dienst neu
Starten Sie den NTP-Dienst auf beiden Servern neu und starten Sie die Server neu.
# service ntpd restart # ntpdate pool.ntp.org # chkconfig ntpd on # init 6
Schritt 2:FUSE-SSHFS installieren
Für CentOS/RHEL-Benutzer ist Fuse SSHFS im Epel-Repository verfügbar. Stellen Sie also sicher, dass Sie das Epel-Repository in Ihrem System installiert haben. Führen Sie nun den folgenden Befehl aus, um es zu installieren.
Unter CentOS/RHEL:
# yum -y install epel-release # yum install -y fuse-sshfs
Unter Ubuntu &Dabian:
$ sudo apt-get update $ sudo apt-get install sshfs
Schritt 3:Remote-Verzeichnis bereitstellen
Lassen Sie uns das Remote-Server-Verzeichnis mit sshfs mounten, stellen Sie sicher, dass auf dem Remote-System der SSH-Server mit der richtigen SSH-Konnektivität von Ihrem System ausgeführt wird. Erstellen Sie zuerst einen Einhängepunkt:
# mkdir /mntssh
Lassen Sie uns das Remote-Verzeichnis mounten. Für dieses Beispiel mounten wir das Verzeichnis /home/remoteuser vom System x.x.x.x (remote.example.com) in unser lokales System.
# sshfs [email protected]:/home/remoteuser /mntssh
Beispielausgabe:
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
Schritt 4:Halterung überprüfen
Nachdem Sie das Remote-Dateisystem auf dem lokalen Mount-Punkt gemountet haben, überprüfen Sie es, indem Sie den Befehl mount ausführen.
# 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)
Navigieren Sie auch zu Ihrem Einhängepunkt, Sie werden dort Dateien vom entfernten System sehen
# cd /mntssh # ls
Schritt 5:Verzeichnis beim Systemstart bereitstellen
Wenn Sie das Remote-Dateisystem bei jedem Neustart Ihres Systems automatisch mounten möchten, fügen Sie den folgenden Eintrag zur Datei /etc/fstab hinzu. Stellen Sie sicher, dass Sie eine schlüsselbasierte SSH-Einrichtung zwischen dem Remote- und dem lokalen System haben.
# vi /etc/fstab [email protected]:/home/remoteuser /mntssh fuse.sshfs defaults 0 0
Schritt 6:Unmounten des Verzeichnisses
Wenn Ihre Arbeit beendet ist und Sie den Einhängepunkt nicht mehr benötigen, hängen Sie ihn einfach mit dem folgenden Befehl aus.
# umount /mntssh