Tutoriales

Cómo crear y restringir usuarios de SFTP en Linux • _

En este post veremos cómo crear usuarios sFTP en Ubuntu Linux y otras distribuciones.

sFTP o Secure File Transfer Protocol es un protocolo seguro de transferencia de archivos que se ejecuta sobre SSH. Se utiliza para acceder, administrar y transferir archivos a través de una sesión de transporte SSH cifrada.

Si deseas proporcionar acceso a archivos a través de FTP, asegúrese de utilizar sFTP en su lugar para una mayor seguridad. También deberá crear una cuenta de usuario para acceder y administrar los archivos en el host sFTP.

Si bien el protocolo SFTP está protegido, si la cuenta de usuario no se aprovisiona correctamente, puede dejar su servidor expuesto a una vulnerabilidad.

A continuación, se muestran algunos pasos que pueden ayudarlo a proteger su servidor para que los usuarios de SFTP no puedan acceder más que solo a sus archivos.

Para crear una cuenta de usuario sFTP solo en Linux, sigue los pasos a continuación:

Crea una cuenta de usuario

El objetivo de este tutorial es crear una cuenta sFTP que solo se utilizará para acceder al archivo y nada más. Esto asegurará que su servidor no sea vulnerable a amenazas.

Ejecute la cuenta a continuación para crear una cuenta solo SFTP llamada sftpuser. Puede nombrar al usuario con el nombre que desees. Para este tutorial, usaremos sftpuser.

sudo adduser --shell /bin/false sftpuser 

Cuando se le solicite, escriba una contraseña y otros detalles de la cuenta.

Adding user `sftpuser' ...
Adding new group `sftpuser' (1001) ...
Adding new user `sftpuser' (1001) with group `sftpuser' ...
Creating home directory `/home/sftpuser' ...
Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for sftpuser
Enter the new value, or press ENTER for the default
	Full Name []: sFTP User
	Room Number []: 
	Work Phone []: 
	Home Phone []: 
	Other []: 
Is the information correct? [Y/n] y

La cuenta anterior se creará sin acceso al shell. Esto significa que el usuario no podrá iniciar sesión en el servidor como un usuario normal.

Crea un directorio de inicio

Ahora que se creó la cuenta anterior, vaya y cree un directorio de inicio sFTP para la cuenta. Puede hacerlo ejecutando los siguientes comandos.

sudo mkdir -p /var/sftp/downloads 

Ahora queremos restringir al usuario para que solo acceda a la / var / sftp / descargas carpeta. El usuario podrá descargar y agregar a esa ubicación.

sudo chown sftpuser:sftpuser /var/sftp/downloads
sudo chown root:root /var/sftp
sudo chmod 755 /var/sftp

Configurar SSH

Ahora que tiene la cuenta de usuario, vaya y configure el servidor SSH para proporcionar acceso restrictivo. Si aún no tiene SSH Server instalado, ejecute los siguientes comandos para instalarlo.

sudo apt update
sudo apt install openssh-server

De forma predeterminada, el archivo de configuración principal SSH está en / etc / ssh / sshd_config

Ejecute los siguientes comandos para abrir el archivo de configuración SSH.

sudo nano /etc/ssh/sshd_config 

Al final del archivo de configuración SSH, agregue las líneas a continuación y guarde.

Match User sftpuser
	ForceCommand internal-sftp
	PasswordAuthentication yes
	ChrootDirectory /var/sftp
	PermitTunnel no
	AllowAgentForwarding no
	AllowTcpForwarding no
	X11Forwarding no

Guarda el archivo y cierra.

A continuación se muestran descripciones de las opciones de configuración anteriores:

  • Usuario de coincidencia: Coincide con el usuario sftpuser
  • ForceCommand interno-sftp: hacer cumplir el acceso SFTP solo sin shell.
  • Autenticación de contraseña sí: permite la autenticación de contraseña para el usuario.
  • ChrootDirectory / var / sftp: restringe el acceso a directorios en / var / sftp.
  • AllowAgentForwarding no: no se permite el reenvío de ssh-agent.
  • AllowTcpForwarding no no se permite ningún reenvío de TCP.
  • X11 Reenvío no no se permite ninguna aplicación gráfica.

Reinicie el servidor SSH para aplicar los cambios.

sudo systemctl restart ssh 

Deberias hacer eso. El usuario debe poder conectarse al servidor a través de sFTP y acceder solo a la carpeta de descargas.

Conclusión:

En este tutorial hemos visto cómo crear y restringir una cuenta de usuario SFTP en Linux. Si encuentra algún error arriba, utilice el formulario de comentarios a continuación para informar.

También te puede gustar la publicación a continuación:

Leave a Comment

You may also like

Más