Cómo crear SFTP solo usuario en Debian 11

Cómo crear SFTP solo usuario en Debian 11

SFTP (Protocolo de transferencia de archivos SSH) es un protocolo de archivo seguro utilizado para acceder, administrar y transferir archivos a través de una sesión de transporte SSH cifrada. La seguridad primero es una regla de pulgar para los administradores del sistema. En algunos casos, necesitamos permitir que los usuarios remotos accedan al sistema de archivos en nuestro sistema, pero no desea permitirles obtener un shell. Esto le permitirá un canal seguro proporcionar un acceso limitado a archivos y directorios específicos.

Este tutorial lo ayudará a configurar SFTP solo acceso (sin acceso de shell) en el sistema Debian 11. Creará un entorno de chroot en su sistema para limitar el usuario SFTP a un directorio específico solo. Además, permitirá el acceso SFTP solo sin acceso SSH al usuario.

Requisitos previos

  • Un sistema de Linux de Bullseye de Debian 11 en ejecución
  • Debe tener una cuenta privilegiada de sudo con Shell Access

Paso 1: crea un nuevo usuario

En primer lugar, cree un nuevo usuario para conectarse con el servidor SFTP. El siguiente comando creará una nueva cuenta llamada sftpuser sin acceso de conchas. Puede usar cualquier nombre de su elección o requisito.

Adduser sudo --shell /bin /falso sftpuser  

Paso 2: cree un directorio para el acceso SFTP

Has creado un usuario para SFTP. Ahora, cree un directorio para configurar como chroot para el SFTP. Para este ejemplo, crearé un /var/sftp directorio. El directorio debe tener propiedad de raíz para configurar como directorio chroot. Por lo tanto, crearemos un subdirectorio en /var /sftp con acceso de escritura a la cuenta SFTP.

Cree la estructura del directorio con el siguiente comando:

Sudo Mkdir -p/var/sftp/archivos  

A continuación, tenemos que establecer el permiso adecuado en directorios para configurar como acceso de chroot con acceso de escritura al usuario. Aquí /var /sftp debe tener la propiedad de la raíz y el grupo con el permiso adecuado. Para establecer ese permiso, escriba:

Sudo Chown Root: root /var /sftp  sudo chmod 755 /var /sftp  

Ahora, cambie el permiso para el "Archivos" Directorio para permitir el acceso de escritura a SFTPUSER. Para establecer esos permisos, escriba:

sudo chown sftpuser: sftpuser/var/sftp/archivos  

Una vez que el SFTPUSER se conecta al servidor, obtendrá /var /sftp como directorio raíz. No puede acceder al sistema de archivos fuera de él. Además, el usuario puede leer/escribir archivos en el directorio de "archivos" solamente.

Paso 3 - Configurar SSHD solo para SFTP

A continuación, debe configurar el servidor SSH para permitir que el "sftpuser" conecte el servidor con SFTP solo sin acceso de shell. Para hacer los cambios necesarios, editar el archivo de configuración de SSH.

sudo nano/etc/ssh/sshd_config  

y agregue la siguiente configuración al final del archivo.

Coincidir con el usuario sftpuser forcommand intervalo-sftp contraseña la autenticación sí chrootdirectory /var /sftp permittunnel sin permitido 
Configuración de chroot para usuario SFTP

Vuelva a verificar que todas las configuraciones son correctas. Luego guarde los cambios y reinicie el servicio SSH para aplicar cambios.

sudo systemctl reiniciar ssh  

Todo hecho, SFTP solo el uso se crea con éxito en su sistema Debian. Ahora intente iniciar sesión en el sistema remoto con las credenciales del nuevo usuario y verifique si todo funciona correctamente.

Paso 4 - Conéctese a SFTP

Uno puede conectarse a un servidor SFTP remoto utilizando una línea de comando o aplicaciones gráficas como Filezilla o WinsCP. En este tutorial, le mostraré ambas formas de conectar SFTP Server.

Los usuarios de Linux pueden usar la utilidad de línea de comandos SFTP para conectarse a instancias remotas de SFTP.

SFTP [Correo electrónico protegido]  [Correo electrónico protegido] ¿Contraseña: SFTP> 

La interfaz de GUI o los usuarios de Windows pueden usar clientes gráficos SFTP. Por ejemplo, use Filezilla Client para conectar una cuenta SFTP remota solo en el sistema remoto.

Verifique que no hay acceso de shell:

Como esta cuenta está configurada para la conexión SFTP solo. Entonces, si algún usuario intentó conectarse a través de SSH, se desconectará inmediatamente después de una autenticación exitosa. El usuario recibirá el mensaje de abajo:

ssh [correo electrónico protegido]  [Correo electrónico protegido] S PASSACIÓN: Este servicio solo permite las conexiones SFTP. Conexión a SFTP.tecadmin.neto cerrado. 

Conclusión

En esta guía práctica, ha aprendido a crear un entorno de cárcel chroot para usuarios de SFTP sin acceso de shell al servidor. El entorno chroot asegura el sistema de archivos al evitar que los usuarios accedan a archivos fuera del directorio definido. Este tutorial se crea y se prueba con el sistema Debian 11 Bullseye, pero esto funcionará en otras versiones de Debian.