SSHFS: montar un sistema de archivos remoto a través de SSH

SSHFS en sí mismo es un sistema de archivos de espacio de usuario (FUSIBLE) que utiliza el Protocolo de transferencia de archivos SSH (SFTP) para montar un sistema de archivos remoto. el sshfs El comando es una herramienta de cliente para usar SSHFS para montar un sistema de archivos remoto desde otro servidor localmente en su máquina.

Notar: Área de usuario (o espacio de usuario) es todo el código del sistema operativo que se ejecuta fuera del kernel.

Aunque no es tan potente como un sistema de archivos local, sshfs es una manera fácil de trabajar con archivos en otra ordenador usando programas y herramientas locales. El mejor de todos, sshfs puede ser utilizado por usuarios sin privilegios en la máquina local (de hecho, se recomienda ser root o elevar los privilegios cuando se usa sshfs), y no requiere ningún software especial en la máquina remota que no sea SSH con SFTP habilitado, una configuración común.

Índice

    Instalación sshfs

    el sshfs La herramienta está disponible en los repositorios estándar de la mayoría de las distribuciones y se instala más fácilmente usando el administrador de paquetes de esa distribución. Para Fedora, instalar sshfs es tan simple como: dnf install fuse-sshfs. En los sistemas basados ​​en Debian, el paquete es simplemente sshfs.

    Montar un sistema de archivos remoto

    Una vez sshfs está instalado, montar un sistema de archivos remoto de forma segura a través de SSH es simple. De acuerdo a sshfs página de manual (man sshfs), la sintaxis del comando es:

    sshfs [[email protected]]host:[dir] mountpoint [options]
    

    Esta sintaxis le resultará familiar a cualquiera que haya usado alguna vez SSH o SCP.

    echemos un vistazo a sshfs en acción. Primero, cree (o seleccione un directorio existente) para usarlo como punto de montaje. Tenga en cuenta que el usuario local que invoca el sshfs El comando debe tener acceso de escritura al punto de montaje. Como se desaconseja el uso de la cuenta raíz, esta política puede hacer que el uso ~/mnt preferible a /mnt. Entonces solo usa el sshfs para conectarse a la máquina remota usando sus credenciales SSH y especificando la ubicación remota para montar en el punto de montaje:

    # Create the mountpoint
    [[email protected] ~ ]$ mkdir ~/mnt
    
    # Invoke SSHFS with your SSH credentials and the remote location to mount
    [[email protected] ~ ]$ sshfs [email protected]:/home/chris/Pictures ~/mnt
    
    # Access the newly mounted filesystem
    [[email protected] ~ ]$ ls ~/mnt/
    'Screenshot from 2019-11-17 19-34-34.png'
    

    Notar: hecho de la diversión, sshfs no se extiende ~ en una máquina remota al directorio de inicio del usuario.

    Se puede acceder a los sistemas de archivos montados y usarlos de la misma manera que un sistema de archivos local, tanto desde la línea de comandos como usando otras herramientas:

    Cuando haya terminado con el sistema de archivos remoto, desmóntelo con el fusermount pedido:

    # Unmount the remote FS
    [[email protected] ~ ]$ fusermount -u ~/mnt
    

    Opciones de montaje

    En la mayoría de los casos, el valor predeterminado sshfs el comando se puede usar tal cual, pero sshfs está lejos de ser un simple comando. Hay un montón de opciones y banderas que cubren una variedad de situaciones, incluyendo opciones SSH y SFTP, compresión y más. sshfs manuales (man sshfs) para obtener más detalles sobre lo que está disponible.

    Una de las opciones más útiles, sin embargo, es reconnect, que permite al cliente restablecer la conexión con el sistema remoto si se interrumpe:

    # Use "-o reconect" to allow the client to reconnect
    [[email protected] ~ ]$ sshfs [email protected]:/home/chris/Pictures ~/mnt -o reconnect
    

    Montar un sistema de archivos remoto al inicio

    el sshfs El comando también se puede utilizar en el sistema cliente. /etc/fstab archivo para montar automáticamente el sistema de archivos remoto. uso normal fstab sintaxis, incluidas las opciones requeridas, y el uso sshfs en lugar del tipo de sistema de archivos:

    # file: /etc/fstab
    [email protected]:/home/chris/Pictures /home/chris/mnt sshfs

    Tenga en cuenta que el uso sshfs con fstab El montaje de archivos en el sistema de archivos se debe realizar como raíz, por lo que se deben realizar los ajustes apropiados para las credenciales de SSH y se deben tomar las precauciones adecuadas.

    El extremo de transporte no está conectado

    Podrías recibir un Transport endpoint is not connected error cuando se interrumpe la conexión (por ejemplo, si la máquina cliente cambia de red o se suspende). En este caso, desmonte el sistema de archivos con el fusermount comando, como se describe anteriormente:

    [[email protected] ~ ]$ ls ~/mnt
    ls: cannot access '/home/chris/mnt': Transport endpoint is not connected
    [[email protected] ~ ]$ fusermount -u ~/mnt
    

    Espero que este artículo le haya dado los conceptos básicos con los que necesita trabajar. sshfs. Es una gran herramienta para trabajar de forma segura con sistemas de archivos remotos a través de una conexión SSH cifrada mientras se monta localmente en el ordenador de su cliente. Y como se mencionó, gracias a sshfs Al ser un sistema de archivos FUSE, incluso los usuarios sin privilegios pueden usarlo sin necesidad de que un administrador lo configure.

    Subir