GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare SSHFS per montare directory remote su SSH

SSHFS (SSH Filesystem) è un client di filesystem basato su FUSE per il montaggio di directory remote su una connessione SSH. SSHFS utilizza il protocollo SFTP, che è un sottosistema di SSH ed è abilitato per impostazione predefinita sulla maggior parte dei server SSH.

Rispetto ad altri protocolli di file system di rete come NFS e Samba, il vantaggio di SSHFS è che non richiede alcuna configurazione aggiuntiva sul lato server. Per utilizzare SSHFS è necessario solo l'accesso SSH al server remoto.

Poiché SSHFS utilizza SFTP, tutti i dati trasmessi tra il server e il client devono essere crittografati e decrittografati. Ciò si traduce in prestazioni leggermente inferiori rispetto a NFS e un maggiore utilizzo della CPU sul client e sul server.

Questo tutorial ti mostrerà come installare il client SSHFS su Linux, macOS e Windows e come montare una directory remota.

Installazione di SSHFS #

I pacchetti SSHFS sono disponibili per tutti i principali sistemi operativi e l'installazione è piuttosto semplice.

Installazione di SSHFS su Ubuntu e Debian #

SSHFS è disponibile dai repository Ubuntu e Debian predefiniti. Aggiorna l'indice dei pacchetti e installa il client sshfs digitando:

sudo apt updatesudo apt install sshfs

Installazione di SSHFS su CentOS #

Su CentOS e altri derivati ​​di Red Hat, esegui il seguente comando per installare sshfs:

sudo yum install sshfs

Installazione di SSHFS su macOS #

Gli utenti macOS possono installare il client SSHFS scaricando i pacchetti FUSE e SSHFS da osxfusesite o tramite Homebrew:

brew cask install osxfusebrew install sshfs

Installazione di SSHFS su Windows #

Gli utenti Windows devono installare due pacchetti, WinFsp e SSHFS-Win.

  • VinFsp.
  • Vinci SSHFS.

Montaggio di un file system remoto #

Le seguenti istruzioni sono applicabili a tutte le distribuzioni Linux e macOS.

Per montare una directory remota, l'utente SSH deve potervi accedere. Il comando di montaggio SSHFS assume la forma seguente:

sshfs [user@]host:[remote_directory] mountpoint [options]

Il comando sshfs leggerà il file di configurazione SSH e utilizzerà le impostazioni per host. Se la directory remota non è specificata, per impostazione predefinita viene utilizzata la directory home dell'utente remoto.

Ad esempio, per montare la home directory di un utente chiamato "linuxize" su un host remoto con indirizzo IP "192.168.121.121", crea prima una directory che fungerà da punto di montaggio, può essere qualsiasi posizione desideri:

mkdir ~/linuxizeremote

Quindi usa il comando sshfs per montare la directory remota:

sshfs [email protected]:/home/linuxize /home/linuxize/linuxizeremote

Ti verrà chiesto di inserire la password utente. Per evitare di digitare la password ogni volta che monti la directory remota, genera le chiavi SSH e imposta l'accesso SSH senza password.

Ora puoi interagire con le directory e i file che si trovano su un server remoto nello stesso modo in cui fai con i file locali. Ad esempio, puoi modificare, eliminare, rinominare o creare nuovi file e directory.

Se vuoi montare permanentemente la directory remota devi modificare il /etc/fstab della macchina locale archiviare e aggiungere una nuova voce di montaggio. In questo modo, quando il tuo sistema si avvia, monterà automaticamente la directory remota.

Per montare una directory remota su SSHFS da /etc/fstab , usa fuse.sshfs come tipo di filesystem.

/etc/fstab
user@host:/remote/dir  /local/mountpoint  fuse.sshfs  defaults  0  0

Quando crei un montaggio persistente assicurati di poter connettere l'host remoto utilizzando l'autenticazione basata su chiave SSH.

Montaggio di un file system remoto su Windows #

Gli utenti Windows possono utilizzare Esplora risorse per mappare un'unità di rete alla directory remota sul server SSH.

Apri Esplora risorse, fai clic con il pulsante destro del mouse su "Questo PC" e seleziona "Mappa unità di rete". Scegli un'unità su cui montare e nel campo "Cartella" inserisci l'utente remoto, il server e il percorso nel seguente formato:

\\sshfs\user@host[\PATH]

Al momento della stesura di questo articolo SSHFS-Win non supporta l'autenticazione basata su chiave, quindi il server ssh remoto deve essere configurato per accettare l'autenticazione basata su password.

Per informazioni più dettagliate, controlla il manuale SSHFS-Win.

Smontaggio di un file system remoto #

Per staccare un file system montato, usa umount o fusermount comando seguito dalla directory in cui è stato montato (punto di montaggio):

fusermount -u /local/mountpoint
umount /local/mountpoint

Conclusione #

In questa guida, hai imparato come utilizzare SSHFS per montare una directory remota su SSH. Questo può essere utile quando vuoi interagire con i file remoti usando le tue applicazioni della macchina locale.

Per un elenco completo delle opzioni sshfs, digita man sshfs nel tuo terminale.

Potresti anche voler limitare l'accesso degli utenti alla loro home directory configurando un SFTP Chroot Jailenvironment e modificando la porta SSH predefinita per aggiungere un ulteriore livello di sicurezza al tuo server.

Se hai domande o feedback, sentiti libero di lasciare un commento.


Linux
  1. Come montare la condivisione Windows remota su Linux

  2. Come eseguire il looping delle directory in Linux?

  3. Come differenziare le directory su ssh

  4. Come usare il comando su su adb shell?

  5. Come sapere se è in uso una connessione ssh ControlMaster

Come utilizzare SSH per connettersi a un server remoto

Monta una cartella remota con sshfs

Procedura:Amministrazione remota di FreeBSD

Come utilizzare il montaggio SSHFS con directory remote su SSH

Come utilizzare SSH per connettersi a un server remoto in Linux o Windows

Come posso montare una cartella Linux remota in Windows tramite SSH?