Cómo se crea un usuario SFTP sin acceso a Shell a CentOS / RHEL 7

¿Cómo va eso? soy Ana. Os traigo un nuevo post sobre el sistema operativo mas molón. Un placer linuxeros.

Este tutorial le ayudará a crear sólo usuarios SFTP (sin acceso ssh) a los sistemas CentOS y RedHat. El usuario puede conectar el servidor sólo con acceso SFTP y permitir el acceso al directorio especificado. Los usuarios no pueden SSH al servidor. Siga el tutorial siguiente para crear sólo cuenta sftp.

Paso 1: crear una cuenta

En primer lugar, cree una cuenta de usuario para utilizarlo para el acceso sftp. Debajo de la orden se creará el usuario llamado sftpuser sin acceso al shell.

sudo adduser --shell /bin/false sftpuser
sudo passwd sftpuser

Paso 2: crear directorio

Ahora, cree la estructura de directorios para el acceso del usuario sftp.

sudo mkdir -p /var/sftp/files

Cambie la propiedad del directorio de archivos usuario sftp. De modo que el sftpuser puede leer y escribir en este directorio.

sudo chown sftpuser:sftpuser /var/sftp/files

Y configure el propietario y el propietario del grupo de / var / sftp a la raíz. El usuario root tiene acceso de lectura / escritura en este acceso. Los miembros del grupo y otras cuentas sólo tienen permisos de lectura y ejecución.

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

Paso 3: configure SSH para SFTP

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

sudo vim /etc/ssh/sshd_config

y añadir la configuración siguiente al final del archivo.

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

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

sudo systemctl restart sshd.service

Paso 4: pruebe la conexión SFTP

Estoy utilizando FileZilla para la conexión con la instancia SFTP desde mis sistemas Windows. Los usuarios de escritorio Linux también pueden utilizar Filezilla para la conexión.

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

sftp [email protected]

Connecting to sftp.linux.net...
[email protected]'s password:
sftp>

Conéctese con FileZilla:

Como esta cuenta está configurado sólo para conexiones SFTP. Por lo tanto, si algún usuario ha intentado conectarse mediante SSH se desconectará inmediatamente después de la autenticación correcta. El usuario recibirá el mensaje siguiente:

ssh [email protected]

[email protected]'s password:
This service allows sftp connections only.
Connection to sftp.linux.net closed.

El Blog lo hacemos para colaborar y servir de ayuda a la gente Linux. Esperamos que os guste.

Leave a Reply