Cómo crear usuario SFTP en Ubuntu 22.04 (sin acceso de shell)

Cómo crear usuario SFTP en Ubuntu 22.04 (sin acceso de shell)

SFTP es un protocolo que permite la transferencia segura de archivos a través de una red. A menudo lo utiliza empresas e individuos para transferir datos confidenciales. SFTP es similar a FTP, pero utiliza un protocolo diferente para la comunicación. SFTP es más seguro que FTP y a menudo se usa junto con SSH (shell seguro) para proporcionar un nivel de seguridad aún más alto.

En este tutorial, lo ayudaremos a configurar un servidor SFTP y crear un usuario solo SFTP en Ubuntu 22.04 sistemas. Esa cuenta puede conectarse a través de SFTP pero no puede conectarse a través de SSH. Además, esto restringirá (chroot) el usuario de SFTP a un directorio específico solo.

Requisitos previos

  • Un Ubuntu 22 corriendo.Sistema 04 LTS con acceso de shell
  • Solicita una cuenta privilegiada de sudo

Paso 1 - Instalación del servidor OpenSSH

Los servidores de Ubuntu ya han instalado el servidor OpenSSH, pero los sistemas de escritorio pueden no tenerlo. Use el siguiente comando para instalar y ejecutar el servidor OpenSSH:

Sudo Apt Update && Sudo Apt Install OpenSsh-Server  

Paso 2 - Crear usuario de SFTP

En primer lugar, cree una nueva cuenta en su sistema para usar como usuario de SFTP.

El siguiente comando creará una nueva cuenta llamada sftpuser sin acceso de conchas. Puedes cambiar el nombre de usuario de tu elección

Adduser sudo --shell /bin /falso sftpuser  
Creación de usuarios de SFTP en Ubuntu

Paso 3 - Configurar el directorio SFTP

Ahora, cree la estructura del directorio para que el usuario de SFTP sea accesible.

Sudo Mkdir -p/var/sftp/archivos  

Aquí permitiremos a los usuarios acceder solo al directorio de "archivos".

Ahora, cambie la propiedad del directorio de archivos al SFTPUSER. Para que sftpuser pueda leer y escribir en este directorio solo.

sudo chown sftpuser: sftpuser/var/sftp/archivos  

Y establezca el propietario y el propietario del grupo de /var /sftp en root. El usuario root tiene acceso de lectura/escritura en este acceso. Los miembros del grupo y otras cuentas solo han leído y ejecutan permisos.

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

Paso 4 - Actualizar el archivo de configuración de SSH

Ahora edite el archivo de configuración SSH en un editor de texto

sudo vim/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 

Asegúrese de agregar configuración después del Subsistema Línea como se muestra en la siguiente captura de pantalla:

Configuración de SFTP solo en Ubuntu

Guardar el archivo de configuración y cerrarlo.

Ahora valida el archivo de configuración.

sudo sshd -t  

Si la validación es exitosa, no se mostrará salida. En caso de que se muestre cualquier error en la salida, asegúrese de solucionarlo antes de ejecutar los siguientes comandos.

Reinicie el servicio SSH para aplicar cambios.

sudo systemctl reiniciar ssh  

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

Paso 5: conectarse al usuario de 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 a solo una cuenta en el sistema Ubuntu.

Los usuarios de Linux pueden usar la utilidad de línea de comandos SFTP para conectarse a una instancia remota de SFTP.

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

También puede conectarse a un servidor SFTP remoto utilizando aplicaciones de interfaz gráfica como FileZilla. Que está disponible para usuarios de Linux y Windows. Abra la aplicación FileZilla y la entrada a los detalles de SFTP:

  • Anfitrión: sftp: // system-ip-host
  • Nombre de usuario: Use el usuario de SFTP creado en el paso 1.
  • Contraseña: Use la contraseña de usuario de SFTP creada en el paso 1.
  • Puerto: Use el puerto del servidor SSH o mantenga vacío para el puerto predeterminado.

Haga clic en el Conexión rápida botón:

Verifique que no hay acceso de shell:

Ya que esta cuenta está configurada para la conexión solo SFTP. 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 siguiente mensaje:

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 conclusión, configurar un servidor SFTP es una excelente manera de transferir de forma segura archivos entre computadoras. Siguiendo los pasos de este artículo, puede configurar su propio servidor SFTP en poco tiempo en los sistemas Ubuntu. Si tiene alguna pregunta, no dude en dejar un comentario a continuación y estaremos encantados de ayudar.