Cos'è SSHFS
Esistono diversi modi per condividere una directory su una rete. Nelle impostazioni aziendali, troverai il filesystem di rete (NFS), Samba e vari filesystem distribuiti. SSHFS non viene utilizzato altrettanto nelle aziende, ma può comunque tornare utile. Il bello è che tutto il suo traffico di rete è crittografato per impostazione predefinita, a differenza di NFS o Samba. E, oltre all'installazione del programma client SSHFS e alla creazione di una directory del punto di montaggio locale, non richiede alcuna configurazione oltre a quella che hai già fatto.
Caratteristiche di SSHFS
- Basato su FUSE (Miglior framework di filesystem per lo spazio utente per Linux)
- Multithreading:più di una richiesta può arrivare al server
- Consenti letture di grandi dimensioni (max 64.000)
- Memorizza nella cache i contenuti della directory
Requisito
Come affermato in precedenza, non è necessaria molta configurazione per configurare SSHFS. Ecco l'elenco dei requisiti.
- 2 Cento o Ubuntu Server
- Autenticazione con chiave SSH sui server
Fase 1:arresta IPTables e Selinux e aggiorna la data e l'ora sui server e l'autenticazione SSH sui server.
Per interrompere il servizio iptables e disabilitare l'avvio automatico all'avvio:
# service iptables stop # chkconfig iptables off
Per disabilitare SELinux, imposta il parametro “SELINUX=disabled” in /etc/sysconfig/selinux file.
# vi /etc/sysconfig/selinux ... SELINUX=disabled ###(Change enabled to disabled)
Genera le chiavi ssh e configura ssh senza password
Sul 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
Sul 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
Ora apri il file authorized_keys su entrambi i server e incolla la chiave del Server 1 nel file authorized_keys del Server 2 e viceversa.
Riavvia il servizio ntp
Riavvia il servizio ntp su entrambi i server e riavvia i server.
# service ntpd restart # ntpdate pool.ntp.org # chkconfig ntpd on # init 6
Fase 2:installa FUSE-SSHFS
Per gli utenti CentOS/RHEL, Fuse SSHFS è disponibile nel repository epel, quindi assicurati di aver installato il repository epel nel tuo sistema. Ora esegui il seguente comando per installarlo.
Su CentOS/RHEL:
# yum -y install epel-release # yum install -y fuse-sshfs
Su Ubuntu e Dabian:
$ sudo apt-get update $ sudo apt-get install sshfs
Fase 3:monta la directory remota
Consente di montare la directory del server remoto utilizzando sshfs, assicurarsi che il sistema remoto abbia un server ssh in esecuzione con una connettività ssh adeguata dal sistema. Per prima cosa crea un punto di montaggio:
# mkdir /mntssh
Montiamo la directory remota. Per questo esempio, stiamo montando la directory /home/remoteuser dal sistema x.x.x.x (remote.example.com) al nostro sistema locale.
# sshfs [email protected]:/home/remoteuser /mntssh
Esempio di output:
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
Fase 4:verifica della montatura
Dopo aver montato il filesystem remoto sul punto di montaggio locale, verificalo eseguendo il comando 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)
Naviga anche verso il tuo punto di montaggio, vedrai i file lì dal sistema remoto
# cd /mntssh # ls
Fase 5:monta la directory all'avvio del sistema
Se vuoi montare automaticamente il filesystem remoto ogni volta che il tuo sistema si riavvia, aggiungi la seguente voce al file /etc/fstab. Assicurati di avere una configurazione ssh basata su chiave tra il sistema remoto e locale.
# vi /etc/fstab [email protected]:/home/remoteuser /mntssh fuse.sshfs defaults 0 0
Fase 6:smonta directory
Se il tuo lavoro è finito e non hai più bisogno del punto di montaggio, smontalo semplicemente usando il seguente comando.
# umount /mntssh