Curso de servidores linux
Objetivo de la práctica
- Activar/instalar SSH.
- Crear un usuario “solo SFTP” (sin terminal SSH).
- Encerrarlo en una carpeta (chroot) para que no vea el resto del sistema.
- Probar conexión desde Windows con FileZilla o WinSCP.
Instalar y habilitar SSH (que trae SFTP)
En Linux Mint, abre terminal y ejecuta:
1sudo apt update 2sudo apt install -y openssh-server 3sudo systemctl enable --now ssh 4sudo systemctl status ssh --no-pager
Comprueba que escucha en el puerto 22:
1ss -tulpn | grep ssh
Crear un grupo y un usuario “solo SFTP”
- Crea el grupo:
1sudo groupadd sftpusers
- Crea el usuario (ejemplo:
sftpuser) y asígnalo al grupo:
1sudo adduser sftpuser 2sudo usermod -aG sftpusers sftpuser
Crear la carpeta “encerrada” (chroot)
La idea: el usuario entrará a /sftp/sftpuser pero no podrá salir.
- Crea estructura:
1sudo mkdir -p /sftp/sftpuser/upload
- Permisos correctos para chroot (muy importante):
- La carpeta raíz del chroot debe ser de root y no escribible por el usuario.
1sudo chown root:root /sftp 2sudo chmod 755 /sftp 3 4sudo chown root:root /sftp/sftpuser 5sudo chmod 755 /sftp/sftpuser
- La carpeta donde SÍ podrá escribir (upload):
1sudo chown sftpuser:sftpusers /sftp/sftpuser/upload 2sudo chmod 775 /sftp/sftpuser/upload
Configurar SSH para forzar SFTP y bloquear terminal
Edita la config:
1sudo nano /etc/ssh/sshd_config
Asegúrate de que existe esta línea (suele venir ya):
1Subsystem sftp internal-sftp
Y al final del archivo, añade:
1Match Group sftpusers 2 ChrootDirectory /sftp/%u 3 ForceCommand internal-sftp 4 X11Forwarding no 5 AllowTcpForwarding no 6 PasswordAuthentication yes
Guarda (Ctrl+O) y sal (Ctrl+X).
Reinicia SSH:
1sudo systemctl restart ssh
Probar desde Linux (rápido)
Desde la propia Mint:
1sftp sftpuser@localhost
Deberías entrar y ver algo como que estás en / y dentro estará upload.
Conectarte desde Windows (FileZilla o WinSCP)
Opción A: FileZilla
- Protocolo: SFTP
- Host:
127.0.0.1 - Puerto:
2222 - Usuario:
sftpuser - Contraseña: la que pusiste con
adduser - Carpeta remota: verás
uploady podrás subir ahí.
Opción B: WinSCP
- File protocol: SFTP
- Host name:
127.0.0.1 - Port number:
2222 - User name:
sftpuser
Opcional: Configurar el firewall
Ver si el firewall está activo
Primero comprobamos el estado:
1sudo ufw status
Puede salir:
Status: inactive
Status: active
Abrir el puerto de SSH
Si SSH está en el puerto 22:
1sudo ufw allow 22
o
1sudo ufw allow ssh
Ahora activamos:
1sudo ufw enable