Configuración de SSHFS en el Cloud con Montaje Automático y Validación por Clave Pública/Privada
Requisitos
Para esta práctica, necesitarás:
- Dos instancias basadas en Ubuntu Server 24.04 en el cloud.
- Un volumen adicional de 2GB que será anexado a la instancia del servidor.
Introducción
En este artículo, configuraremos dos instancias en el cloud. Una de ellas actuará como servidor, donde anexaremos un volumen de 2GB. Configuraremos SSHFS para permitir que la instancia cliente monte el sistema de archivos remoto usando SSHFS y systemd. La validación del usuario se realizará mediante claves públicas y privadas. Cubriremos las siguientes configuraciones:
- Montaje manual del sistema de archivos remoto.
- Montaje automático mediante
/etc/fstab
. - Montaje automático mediante fichero de unidad
.mount
. - Montaje automático mediante fichero de unidad
.automount
para montaje bajo demanda.
Paso 1: Preparación del Entorno
En la Instancia del Servidor
-
Anexar el Volumen de 2GB:
Asumiendo que el volumen adicional está anexado como
/dev/sdb
, primero crearemos una particion y un sistema de ficheros en él:sudo fdisk /dev/sdb
sudo mkfs.ext4 /dev/sdb1 -
Crea un punto de montaje y monta el volumen:
sudo mkdir -p /mnt/data
sudo mount /dev/sdb1 /mnt/data
sudo chown -R $USER:$USER /mnt/data -
Configuramos el montaje en
/etc/fstab
para que sea permanente:
/dev/sdb1 /mnt/data ext4 defaults 0 1
-
Instala el servidor SSH si no está ya instalado::
sudo apt update
sudo apt install openssh-server -y
En la Instancia del Cliente
-
Instalar SSHFS:
sudo apt update
sudo apt install sshfs -y -
Generar Clave SSH:
Si no tienes una clave SSH, genera una:
ssh-keygen
Copia la clave pública al servidor:
ssh-copy-id username@server_ip
2. Montaje Manual del Sistema de Archivos Remoto
-
Crear el Punto de Montaje en el Cliente:
mkdir -p /mnt/server_data
-
Montar el Sistema de Archivos con SSHFS:
sshfs username@server_ip:/mnt/data /mnt/server_data
-
Verificar el Montaje:
ls /mnt/server_data
3. Montaje Automático mediante /etc/fstab
-
Editar
/etc/fstab
en el Cliente:Abre el archivo
/etc/fstab
y añade la siguiente línea:root@82.223.23.121:/mnt/data /mnt/server_data fuse.sshfs defaults,_netdev,users,idmap=user,identityfile=/root/.ssh/id_rsa,allow_other 0 0
-
Montar el Sistema de Archivos:
sudo mount -a
-
Verificar el Montaje:
ls /mnt/server_data
4. Montaje Automático mediante Fichero de Unidad .mount
-
Crear un Fichero de Unidad
.mount
:Crea un archivo de unidad en
/etc/systemd/system
llamadomntserver_data.mount
:[Unit]
Description=Mount SSHFS Filesystem
[Mount]
What=username@server_ip:/mnt/data
Where=/mnt/server_data
Type=fuse.sshfs
Options=defaults,_netdev,users,idmap=user,identityfile=/root/.ssh/id_ed25519,allow_other
[Install]
WantedBy=multi-user.target -
Recargar systemd y Habilitar la Unidad:
sudo systemctl daemon-reload
sudo systemctl enable mntserver_data.mount
sudo systemctl start mntserver_data.mount -
Verificar el Montaje:
ls /mnt/server_data
5. Montaje Automático con Unidad .automount
-
Crear un Fichero de Unidad
.automount
:Crea un archivo de unidad en
/etc/systemd/system
llamadomnt-server_data.automount
:[Unit]
Description=Automount SSHFS Filesystem
[Automount]
Where=/home/username/mnt/server_data
[Install]
WantedBy=multi-user.target -
Recargar systemd y Habilitar las Unidades:
sudo systemctl daemon-reload
sudo systemctl enable mnt-server_data.automount
sudo systemctl start mnt-server_data.automount -
Verificar el Montaje Bajo Demanda:
Accede al punto de montaje para activarlo:
ls /mnt/server_data
Después de un tiempo de inactividad, el sistema de archivos debería desmontarse automáticamente.