Para compartir una carpeta entre dos computadoras Manjaro usando SSHFS, siga estos pasos:
- Instale el servidor SSH y SSHFS en ambas computadoras:
En ambas computadoras, abra un terminal y ejecute el siguiente comando para instalar el servidor SSH y SSHFS:
sudo pacman -S openssh sshfs
- Inicie y habilite el servidor SSH:
En la computadora que compartirá la carpeta (el servidor), inicie y habilite el servidor SSH ejecutando los siguientes comandos:
sudo systemctl enable --now sshd
- Cree una carpeta para compartir:
En el servidor, cree una carpeta que desee compartir:
sudo mkdir -p /remote/path
sudo chown $USER:$USER /remote/path
- Configure la autenticación con clave SSH (opcional):
Para evitar ingresar una contraseña cada vez que se conecte, puede configurar la autenticación con clave SSH entre las dos computadoras. En la computadora cliente, genere un par de claves SSH si aún no tiene uno:
ssh-keygen
Luego, copie la clave pública al servidor:
ssh-copy-id username@server_ip_address
Reemplace “username” con su nombre de usuario en el servidor y “server_ip_address” con la dirección IP del servidor.
- Monte la carpeta compartida usando SSHFS:
En la computadora cliente, cree una carpeta donde desee montar la carpeta compartida:
sudo mkdir -p /local/path
sudo chown $USER:$USER /local/path
Ahora, monte la carpeta compartida desde el servidor usando SSHFS:
sshfs -o IdentityFile=/home/user/.ssh/id_rsa,idmap=user,allow_other,_netdev,follow_symlinks,ServerAliveInterval=15,ServerAliveCountMax=3,reconnect,noatime,auto username@server_ip_address:/remote/path /local/path
Reemplace “username” con su nombre de usuario en el servidor, “server_ip_address” con la dirección IP del servidor y “/remote/path” con la ruta de la carpeta compartida en el servidor.
La carpeta compartida del servidor ahora debería ser accesible en la computadora cliente a través del directorio “/local/path”.
- Desmonte la carpeta compartida:
Cuando haya terminado de usar la carpeta compartida, puede desmontarla en la computadora cliente con el siguiente comando:
fusermount -u /local/path
Recuerde que necesita tener una conexión de red activa entre las dos computadoras y que el servidor SSH debe estar en funcionamiento en la computadora servidor para que SSHFS funcione.
Además, puede agregar el siguiente comando al archivo fstab para montar automáticamente la carpeta compartida al iniciar el sistema:
username:server_ip_address:/remote/path /local/path fuse.sshfs IdentityFile=/home/user/.ssh/id_rsa,idmap=user,allow_other,_netdev,follow_symlinks,ServerAliveInterval=45,ServerAliveCountMax=2,reconnect,noatime,auto,x-gvfs-show 0 0
Explicación de cada opción en ese comando:
username:server_ip_address
: nombre de usuario y dirección IP del servidor./remote/path
: ruta de la carpeta compartida en el servidor./local/path
: punto de montaje en la computadora cliente.fuse.sshfs
: tipo de sistema de archivos.IdentityFile=/home/user/.ssh/id_rsa
: ruta al archivo de clave privada SSH.idmap=user
: Mapea los ID de usuario y grupo remotos a los ID de usuario y grupo locales.allow_other
: permite el acceso a otros usuarios.default_permissions
: habilita el uso de permisos predeterminados._netdev
: indica que el sistema de archivos requiere una conexión de red.follow_symlinks
: sigue enlaces simbólicos en el sistema de archivos remoto.ServerAliveInterval=45
: intervalo en segundos para enviar un mensaje de “keep-alive” al servidor.ServerAliveCountMax=2
: número máximo de mensajes de “keep-alive” sin respuesta antes de desconectar.reconnect
: intenta reconectar automáticamente en caso de desconexión.noatime
: no actualiza el tiempo de acceso al archivo.auto
: monta automáticamente el sistema de archivos al iniciar el sistema.x-gvfs-show
: muestra el sistema de archivos en el administrador de archivos (por ejemplo, Nautilus).
Tenga en cuenta que debe tener una conexión de red activa entre las dos computadoras y que el servidor SSH debe estar en funcionamiento en la computadora servidor para que SSHFS funcione.
En el caso de que desee utilizar la opción allow_other
en su comando SSHFS y encuentre el siguiente error:
fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf
Esto significa que necesita habilitar la opción user_allow_other
en el archivo de configuración /etc/fuse.conf
. Para hacerlo, siga estos pasos:
- Abra el archivo
/etc/fuse.conf
con un editor de texto como root. Por ejemplo, usandonano
:
sudo nano /etc/fuse.conf
- Busque la línea que contiene
#user_allow_other
y descoméntela eliminando el símbolo#
al principio de la línea. Debería verse así:
user_allow_other
-
Guarde los cambios y cierre el editor de texto.
-
Ahora, la opción
allow_other
debería funcionar correctamente con su comando SSHFS.
La opción allow_other
permite que otros usuarios (además del usuario que monta el sistema de archivos) accedan a los archivos y directorios compartidos. Habilitar user_allow_other
en /etc/fuse.conf
permite a los usuarios no root especificar las opciones de montaje allow_other
o allow_root
. Tenga en cuenta que esto puede tener implicaciones de seguridad, ya que permite el acceso a los archivos compartidos por otros usuarios en el sistema. Asegúrese de comprender las implicaciones de seguridad antes de habilitar esta opción.
Para obtener más información sobre SSHFS y sus opciones, consulte estos recursos: