Cómo crear usuario de SFTP para un documento de servidor web root

Cómo crear usuario de SFTP para un documento de servidor web root

SFTP (protocolo de transferencia de archivos SSH/Secure) es un estándar de transmisión de red utilizado para transferir, acceder y administrar archivos a través de una red remota. Contiene SSH (shell seguro), lo que lo hace mucho más seguro que el protocolo FTP.

Los archivos se transfieren a través de un solo canal de control en SFTP. Requiere autenticación y se ejecuta en el puerto 22. En SFTP, el shell SSH proporciona un cifrado que ayuda a proteger los nombres de usuario, las contraseñas y otros datos personales transferidos a través de SFTP.

En esta guía práctica, aprenderemos a crear usuarios de SFTP para el documento del servidor web root.

Paso 1 - Instalación de SSH (shell seguro)

SFTP es un protocolo de transferencia de archivos muy seguro debido al cifrado que SSH proporciona para los datos a medida que se transfieren a través de la red. SSH se instala principalmente en las distribuciones de Linux de forma predeterminada, pero si no está preinstalada en su sistema, puede usar el comando otorgado a continuación para instalarlo:

sudo apt install ssh  

Si ya está instalado, el comando actualizará los paquetes OpenSSH.

Paso 2 - Configuración de SSH para usar el código del servidor SFTP

Ahora abra el archivo de configuración de SSH en un editor de texto para modificarlo para el código del servidor SFTP. Aquí utilizaremos el editor nano para editar el archivo de configuración.

sudo nano/etc/ssh/sshd_config  

Localice la línea a partir de "Subsistema SFTP".

Comente la línea agregando # al comienzo de la línea y escriba la siguiente línea después de esta línea como se muestra en la captura de pantalla que se da a continuación:

Subsistema SFTP SFTP interno 

El SSHD utilizará el código del servidor SFTP en lugar de ejecutar el servidor SFTP cambiando la línea anterior.

Una vez que haya cambiado el archivo de configuración, guarde el archivo y salga de él usando las teclas de acceso directo del teclado Ctrl+S y Ctrl+X.

Después de los cambios, necesitamos reiniciar el demonio SSHD para dejar que los cambios funcionen.

sudo systemctl reiniciar sshd  

Paso 3 - Creación de un usuario (usuario de SFTP)

Es una excelente práctica crear un nuevo usuario que solo tenga acceso SFTP a la raíz del documento. No se recomienda agregar un usuario con privilegios de sudo a la raíz del documento del servidor web. Cree un nuevo usuario usando el comando adduser:

Adduser de sudo sftpuser  

El terminal solicitará un par de cosas como configurar la contraseña e información del usuario. También solicitará algunos otros detalles, así que déjelos vacíos o proporcione la información adecuada.

Un nuevo usuario con el nombre de sftpuser se crea con éxito.

Paso 4 - Creación de la Directiva de usuario de coincidencia en el archivo de configuración de SSH

Ahora restringiremos a este usuario a la raíz del documento y también deshabilitaremos el acceso del usuario a SSH para que el usuario inicie sesión a través de SFTP.

Para restringir el acceso del usuario, abra el archivo de configuración de SSH en cualquier editor de texto:

sudo nano/etc/ssh/sshd_config  

Ahora vaya al final del archivo y agregue el siguiente contenido en el archivo de configuración "sshd_config":

Coincidir con el usuario sftpuser forCecommand interno-sftp chrootdirectory/var/www/contraseñaauthentication Sí x11 para no tener en cuenta el trabajo no 

Asegúrese de reemplazar el nombre de usuario "sftpuser" con el nombre de usuario que establece.

Una vez que el contenido anterior se agrega al archivo de configuración SSH, guarde y salga usando claves Ctrl+S y Ctrl+X Actual.

Para verificar la sintaxis y verificar si todo salió bien, puede ejecutar el comando:

sudo sshd -t  

Si no ocurriera ningún error, podríamos volver a cargar el servicio SSH para que funcionen los cambios.

sudo systemctl reiniciar sshd  

Paso 5 - Agregar usuario SFTP al grupo www -data

Ahora agregaremos el usuario al grupo www-data ejecutando el siguiente comando:

sudo usermod -a -g www -data sftpuser  

En una ejecución exitosa, no se mostrará ninguna salida.

Paso 6 - Configuración del permiso del directorio raíz del documento

Siga las instrucciones posteriores con mucho cuidado ya que SFTP es muy estricto con respecto a los permisos de directorio de Chroot.

  1. Comenzaremos revisando los permisos actuales y la propiedad de VAR:
    sudo ls -ld /var /  
  2. Los permisos deben ser de 755 y el propietario debe ser root. Si no es así, ejecute el comando que se da a continuación para establecer los permisos adecuados:
    sudo chmod 755 /var /  
  3. Ahora use este comando para establecer la propiedad correcta:
    Raíz de sudo chown: raíz /var /  
  4. Del mismo modo, aplique los mismos permisos al chroot:

    sudo chmod 755/var/www/  
  5. Dado que hemos establecido "/var/www/" en el directorio chroot. Ahora establezca la propiedad adecuada del directorio Chroot:
    Raíz de sudo chown: root/var/www/  
  6. Para permitir que un grupo escriba en el Directorio Root del documento, establezca su permiso en 755:
    sudo chmod 755/var/www/html/  
  7. Para otorgar la propiedad de la raíz del documento "/var/www/html" y sus directorios y archivos adicionales al grupo www-data, use el comando otorgado:
    sudo chown -r www-data: www-data/var/www/html*  
  8. Ahora proporcione 755 permisos al contenido colocado en la raíz del documento "/var/www/html" usando el comando:
    sudo find/var/www/html/-type d -exec chmod 775  \;  
  9. El comando anterior otorgará al usuario de SFTP Leer, escribir y permisos ejecutables de los directorios.

    También necesitamos dar 664 permisos a todos los archivos que están presentes en la raíz del documento para permitir que el propietario y el grupo de usuarios de SFTP lean y escriban los archivos:

    sudo Find/var/www/html/-type f -exec chmod 664  \;  
  10. Ahora, para el último paso, asegúrese de que todos los nuevos archivos y directorios adquieran el grupo www-data que se crean el usuario SFTP recientemente creado:
    sudo find/var/www/html -type d -exec chmod g+s  \;  

Felicidades! Su nuevo usuario de SFTP ha sido creado y agregado a la raíz del documento del servidor web. Ahora puedes iniciar sesión en SFTP.

Conclusión

En esta guía práctica, hemos aprendido cómo instalar y configurar SSH para usar el código del servidor SFTP. Después de eso, creamos un nuevo usuario, los restringimos para documentar la raíz y deshabilitar su acceso SSH. Luego agregamos el usuario a la raíz del documento del servidor web para permitir que el usuario lea, escriba y ejecute archivos en el documento root.