GNU/Linux >> Tutoriales Linux >  >> Linux

Configurar SFTP y prevenir SSH en Ubuntu 20.04

Configure SFTP y evite SSH en Ubuntu 20.04. SFTP (Protocolo seguro de transferencia de archivos), una forma segura de transferir archivos a servidores mediante conexiones SSH cifradas. Todos los servidores con SSH tendrán habilitado SFTP de forma predeterminada.

En esta guía, aprenderá cómo limitar el acceso SFTP a un directorio para un usuario en particular y evitar el acceso SSH.

Esta configuración se prueba en una máquina virtual que ejecuta el sistema operativo Ubuntu 20.04. Así que este tutorial debería funcionar en cualquier servidor con Ubuntu.

Requisitos

Acceso SSH al servidor con privilegios sudo.

Paso 1:Crear nuevo usuario

Cree un nuevo usuario que tenga acceso SFTP para realizar ciertas acciones en un directorio en particular.

sudo adduser username

Se le pedirá que configure una contraseña y otros detalles opcionales que puede configurar o ignorar.

Si desea utilizar el inicio de sesión basado en claves SSH, compruebe cómo configurar el acceso SSH en su Ubuntu.

Paso 2:configurar el acceso SFTP

Para configurar el acceso SFTP, debe configurar los permisos de directorio correctos. El directorio principal del nuevo directorio que está a punto de crear debe ser propiedad de root y no de ningún otro usuario.

Por ejemplo, si va a crear un directorio llamado /sftp/folder , el sftp el directorio debe ser propiedad de raíz y el folder el directorio debe ser propiedad del usuario particular quién está accediendo.

Crear directorios.

sudo mkdir -p /sftp/folder

Configure los permisos correctos.

sudo chmod 755 /sftp
sudo chown root:root /sftp
sudo chmod -R 755 /sftp/folder
sudo chown username:username /sftp/folder

Paso 3:Evite el acceso SSH y restrinja el acceso SFTP

Ahora podemos modificar la configuración de SSH para evitar el acceso de SSH para el usuario y restringir el acceso del usuario solo al directorio en particular.

Edite su archivo de configuración de SSH.

sudo nano /etc/ssh/sshd_config

Agregue lo siguiente al final del archivo.

Match User username
  ForceCommand internal-sftp
  PasswordAuthentication yes
  ChrootDirectory /sftp
  PermitTunnel no
  AllowAgentForwarding no
  AllowTcpForwarding no
  X11Forwarding no
  • Match User le dice al servidor SSH que aplique los siguientes comandos solo al usuario especificado.
  • ForceCommand internal-sftp obliga al servidor SSH a ejecutar el servidor SFTP al iniciar sesión y evita el acceso SSH.
  • PasswordAuthentication yes permite la autenticación de contraseña para este usuario. Si utiliza el inicio de sesión basado en claves SSH, puede evitar la autenticación basada en contraseña configurando el valor en no .
  • ChrootDirectory /sftp asegura que el usuario no tendrá acceso a nada más allá del /sftp directorio.
  • AllowAgentForwarding no , AllowTcpForwarding no y X11Forwarding no desactiva el reenvío de puertos, la tunelización y el reenvío X11, respectivamente.

Presiona CTRL + X seguido de Y y luego ENTER para guardar y salir del archivo.

Ahora las configuraciones están en su lugar, lo que permite solo el acceso SFTP y evita el inicio de sesión SSH para el usuario.

Reinicie el servicio SSH para que los cambios surtan efecto.

sudo systemctl restart sshd

Para obtener más detalles sobre cómo configurar el acceso para múltiples nombres de usuario, puede seguir esta guía de configuración de Chroot.

Paso 4:Verificar la configuración de SFTP

Intente iniciar sesión en el servidor utilizando sus datos de SFTP con el comando SSH. Se le negará el acceso a SSH.

ssh [email protected]_ip

Recibirá un resultado similar al siguiente.

Output
This service allows sftp connections only.
Connection to server_ip closed.

Ahora verifique usando el comando sftp.

sftp [email protected]_ip

Ahora debería iniciar sesión en el servidor y tener acceso al directorio que configuró anteriormente.

Output
Connected to server_ip
sftp>

Usa el ls comando para enumerar los directorios, verá el directorio llamado folder ha creado y configurado permisos.

sftp> ls
Output
folder

Conclusión

Ahora ha aprendido cómo configurar SFTP y evitar el acceso SSH al usuario a través de un directorio específico.

Gracias por tu tiempo. Si tiene algún problema o comentario, deje un comentario a continuación.


Linux
  1. Cómo configurar el servidor SFTP de MySecureShell en Ubuntu 18.04

  2. Cómo instalar y configurar el servidor sftp en Ubuntu 20.04

  3. ¿Cómo permitir SFTP y no permitir SSH?

  4. Ssh:¿restringir un usuario de Ssh/scp/sftp a un directorio?

  5. Instalación y configuración de OpenSSH en distribuciones basadas en Ubuntu y Debian

Cómo instalar y configurar RabbitMQ en Ubuntu 16.04

Cómo instalar y configurar Apache Spark en Ubuntu 21.04

Cómo configurar y usar Google Drive en Ubuntu 20.04

Cómo instalar y configurar Zsh en Ubuntu 20.04

Cambia tu puerto SSH en Ubuntu y Debian

Cómo instalar y configurar Sendmail en Ubuntu