GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo crear un usuario SFTP sin acceso Shell en CentOS 8

SFTP significa "Protocolo de transferencia de archivos SSH". SFTP es un protocolo de transferencia de archivos que se utiliza para transferir archivos entre dos servidores. De forma predeterminada, SFTP le permite transferir archivos en todos los servidores que tienen habilitado el acceso SSH. Sin embargo, otorgará acceso a la terminal a todos los usuarios y esto no se recomienda por razones de seguridad.

En este tutorial, aprenderemos cómo crear un usuario SFTP sin acceso de shell para que el usuario solo tenga acceso SFTP y no acceso SSH.

Requisitos

  • Un nuevo CentOS 8 VPS en la plataforma en la nube de Atlantic.net.
  • Una contraseña raíz configurada en su servidor.

Paso 1:crear el servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo CentOS 8 como sistema operativo con al menos 1 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Una vez que haya iniciado sesión en su servidor CentOS 8, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.

dnf update -y

Paso 2:crear un usuario SFTP

Primero, deberá crear un nuevo usuario con solo acceso de transferencia de archivos. Puede crear un nuevo usuario llamado sftp usando el siguiente comando:

adduser sftp

A continuación, establezca la contraseña para el usuario anterior:

passwd sftp

Proporcione su contraseña deseada y presione enter.

Paso 3:cree una estructura de directorio para transferencias de archivos

A continuación, deberá crear una estructura de directorios para la transferencia de archivos para restringir el acceso SFTP a un directorio.

Puede crear un nuevo directorio con el siguiente comando:

mkdir -p /opt/sftp/public

A continuación, establezca la propiedad del directorio /opt/sftp/ en root:

chown root:root /opt/sftp

A continuación, otorgue los permisos adecuados con el siguiente comando:

chmod 755 /opt/sftp

A continuación, establezca la propiedad del directorio público en el usuario sftp:

chown sftp:sftp /opt/sftp/public

Paso 4:configurar SSH para SFTP

A continuación, deberá configurar SSH para restringir el acceso a un directorio y prohibir el acceso de terminal al usuario de sftp.

Puede hacerlo editando el archivo /etc/ssh/sshd_config:

nano /etc/ssh/sshd_config

Agregue las siguientes líneas al final del archivo:

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

Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio SSH para implementar los cambios:

systemctl restart sshd

Paso 5:verificar SFTP

Ahora, verifique el acceso SFTP con el siguiente comando:

sftp [email protected]

Se le pedirá que proporcione una contraseña como se muestra a continuación:

[email protected]'s password:

Proporcione su contraseña de usuario de sftp y presione Enter. Una vez conectado, debería ver el siguiente resultado:

Connected to your-server-ip.
sftp>

A continuación, ejecute el siguiente comando para listar el directorio:

sftp> ls

Debería ver el directorio público en el siguiente resultado:

public 
sftp>

A continuación, verifique si puede establecer una conexión SSH o no:

ssh [email protected]

Se le pedirá que proporcione una contraseña como se muestra a continuación:

[email protected]'s password:

Proporcione su contraseña de usuario de sftp y presione Enter. Debería ver el siguiente resultado:

This service allows sftp connections only.
Connection to your-server-ip closed.

El resultado anterior indica que el usuario de sftp ya no puede acceder al shell del servidor a través de SSH.

Conclusión

¡Felicidades! Configuró correctamente SFTP sin acceso de shell en CentOS 8. También puede usar esta configuración para múltiples usuarios y directorios. ¡Comience hoy con SFTP en un VPS de Atlantic.Net!


Linux
  1. Centos:¿cómo crear un usuario sin privilegios en Centos?

  2. Centos:¿cómo crear un usuario Sftp en Centos?

  3. ¿Cómo crear un nuevo usuario con acceso Ssh?

  4. Cómo crear un usuario sudo en CentOS 7

  5. Crear un usuario sudo en CentOS

Cómo crear y ejecutar un script de Shell en CentOS 8

Cómo crear solo un usuario SFTP en Debian 11

Cómo crear un usuario Sudo en CentOS

Cómo limitar el usuario root en CentOS

Cómo instalar Dgraph en CentOS 8

Cómo crear un usuario o contacto