Cómo crear usuario SFTP sin acceso de shell en CentOS/RHEL 8

Cómo crear usuario SFTP sin acceso de shell en CentOS/RHEL 8

SFTP (protocolo de transferencia de archivos SSH) es un protocolo seguro de transferencia de archivos entre dos sistemas. Se ejecuta sobre el protocolo SSH y comparte el mismo puerto 22. Este tutorial lo ayudará a crear usuarios de acceso SFTP solo (sin acceso SSH) en los sistemas Centos 8 y Redhat 8. El usuario puede conectar el servidor solo con SFTP y se le permite acceder al directorio especificado. Los usuarios no pueden SSH en el servidor. Siga el siguiente tutorial para crear una cuenta SFTP Only en Centos 8 y Rhel 8.

Paso 1 - Crear cuenta

En primer lugar, cree una cuenta de usuario para el acceso SFTP. Para este tutorial, estamos creando un usuario nombrado sftpuser sin acceso de conchas. Además, establezca una contraseña segura para el usuario.

Adduser sudo --shell /bin /falso sftpuser sudo passwd sftpuser 
Cambiar contraseña para el usuario Sftpuser. Nueva contraseña: repetir nueva contraseña: passwd: todos los tokens de autenticación actualizados correctamente. 

Paso 2 - Crear directorio

Ahora, cree la estructura del directorio para ser accesible por el usuario de SFTP. Restringiremos el nuevo usuario solo a este directorio. Para que el usuario no pueda acceder a los archivos a otros directorios.

Sudo Mkdir -p/var/sftp/archivos 

Cambiar la propiedad del directorio a usuarios de SFTP recién creados. Para que sftpuser pueda leer y escribir en este directorio.

sudo chown sftpuser: sftpuser/var/sftp/archivos 

Debe establecer el propietario y el propietario del grupo del /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.

Raíz de sudo chown: raíz /var /sftp sudo chmod 755 /var /sftp 

Paso 3 - Configurar SSH para SFTP

Como sabemos, el SFTP se ejecuta sobre el protocolo SSH, por lo que necesitamos configurar esto en el archivo de configuración. Editar 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 

Guarde la configuración y reinicie el servicio SSH para aplicar cambios.

sudo systemctl reiniciar sshd.servicio 

Todo hecho, su sistema está listo para aceptar la conexión SFTP solo para la cuenta creada. Probemos la conexión SFTP y también nos aseguremos de que el usuario no esté autorizado a SSH.

Paso 4: prueba la conexión SFTP

Estoy usando filezilla para la conexión a la instancia SFTP desde mis sistemas de Windows. Los usuarios de escritorio de Linux también pueden usar FileZilla para la conexión.

Para el servidor Linux, los usuarios pueden usar la utilidad de línea de comandos SFTP para conectarse a una instancia remota de SFTP.

SFTP [Correo electrónico protegido] 
Conectarse a SFTP.tecadmin.NET ... [Correo electrónico protegido] ¿Contraseña: SFTP> 

Conéctese con FileZilla:

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 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. 

El mensaje anterior (este servicio solo permite las conexiones SFTP.) muestra que el usuario solo tiene acceso SFTP. Los usuarios no pueden conectar el servidor a través de SSH.